﻿2026-06-07T22:53:32.1380256Z ##[group]Run ./traceable-reqs check --json
2026-06-07T22:53:32.1380636Z [36;1m./traceable-reqs check --json[0m
2026-06-07T22:53:32.1393483Z shell: /usr/bin/bash -e {0}
2026-06-07T22:53:32.1393726Z ##[endgroup]
2026-06-07T22:53:32.1623590Z {
2026-06-07T22:53:32.1624153Z   "schemaVersion": 1,
2026-06-07T22:53:32.1624468Z   "summary": {
2026-06-07T22:53:32.1624677Z     "requirementCount": 166,
2026-06-07T22:53:32.1624967Z     "completeCount": 166,
2026-06-07T22:53:32.1625192Z     "incompleteCount": 0,
2026-06-07T22:53:32.1625478Z     "findingCount": 0
2026-06-07T22:53:32.1625670Z   },
2026-06-07T22:53:32.1625849Z   "requirements": [
2026-06-07T22:53:32.1626091Z     {
2026-06-07T22:53:32.1626290Z       "id": "REQ-API-1",
2026-06-07T22:53:32.1626595Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-07T22:53:32.1627053Z       "requiredStages": [
2026-06-07T22:53:32.1627258Z         "impl",
2026-06-07T22:53:32.1627501Z         "unit",
2026-06-07T22:53:32.1627683Z         "int"
2026-06-07T22:53:32.1627897Z       ],
2026-06-07T22:53:32.1628097Z       "stages": {
2026-06-07T22:53:32.1628317Z         "doc": {
2026-06-07T22:53:32.1628596Z           "complete": false,
2026-06-07T22:53:32.1628914Z           "evidence": []
2026-06-07T22:53:32.1629210Z         },
2026-06-07T22:53:32.1629452Z         "impl": {
2026-06-07T22:53:32.1629710Z           "complete": true,
2026-06-07T22:53:32.1630002Z           "evidence": [
2026-06-07T22:53:32.1630527Z             {
2026-06-07T22:53:32.1631021Z               "path": "crates/spt/src/api/mod.rs",
2026-06-07T22:53:32.1631584Z               "line": 15
2026-06-07T22:53:32.1632026Z             }
2026-06-07T22:53:32.1632404Z           ]
2026-06-07T22:53:32.1632842Z         },
2026-06-07T22:53:32.1633276Z         "int": {
2026-06-07T22:53:32.1633668Z           "complete": true,
2026-06-07T22:53:32.1634136Z           "evidence": [
2026-06-07T22:53:32.1634512Z             {
2026-06-07T22:53:32.1649255Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T22:53:32.1649722Z               "line": 13
2026-06-07T22:53:32.1650025Z             }
2026-06-07T22:53:32.1650287Z           ]
2026-06-07T22:53:32.1650530Z         },
2026-06-07T22:53:32.1650773Z         "unit": {
2026-06-07T22:53:32.1651041Z           "complete": true,
2026-06-07T22:53:32.1651346Z           "evidence": [
2026-06-07T22:53:32.1651623Z             {
2026-06-07T22:53:32.1651909Z               "path": "crates/spt/src/api/mod.rs",
2026-06-07T22:53:32.1652288Z               "line": 442
2026-06-07T22:53:32.1652582Z             },
2026-06-07T22:53:32.1652844Z             {
2026-06-07T22:53:32.1653134Z               "path": "crates/spt/src/api/mod.rs",
2026-06-07T22:53:32.1653507Z               "line": 448
2026-06-07T22:53:32.1653788Z             },
2026-06-07T22:53:32.1654046Z             {
2026-06-07T22:53:32.1654326Z               "path": "crates/spt/src/api/mod.rs",
2026-06-07T22:53:32.1654689Z               "line": 515
2026-06-07T22:53:32.1654970Z             }
2026-06-07T22:53:32.1655232Z           ]
2026-06-07T22:53:32.1655466Z         }
2026-06-07T22:53:32.1655722Z       }
2026-06-07T22:53:32.1655966Z     },
2026-06-07T22:53:32.1656204Z     {
2026-06-07T22:53:32.1656458Z       "id": "REQ-API-2",
2026-06-07T22:53:32.1656943Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-07T22:53:32.1657577Z       "requiredStages": [
2026-06-07T22:53:32.1657875Z         "impl",
2026-06-07T22:53:32.1658133Z         "unit",
2026-06-07T22:53:32.1658395Z         "int"
2026-06-07T22:53:32.1658653Z       ],
2026-06-07T22:53:32.1658904Z       "stages": {
2026-06-07T22:53:32.1659167Z         "doc": {
2026-06-07T22:53:32.1659439Z           "complete": false,
2026-06-07T22:53:32.1659773Z           "evidence": []
2026-06-07T22:53:32.1660063Z         },
2026-06-07T22:53:32.1660338Z         "impl": {
2026-06-07T22:53:32.1660614Z           "complete": true,
2026-06-07T22:53:32.1660915Z           "evidence": [
2026-06-07T22:53:32.1661195Z             {
2026-06-07T22:53:32.1661748Z               "path": "crates/spt-store/src/history.rs",
2026-06-07T22:53:32.1662125Z               "line": 15
2026-06-07T22:53:32.1662406Z             },
2026-06-07T22:53:32.1662658Z             {
2026-06-07T22:53:32.1662971Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T22:53:32.1663557Z               "line": 20
2026-06-07T22:53:32.1663839Z             },
2026-06-07T22:53:32.1664092Z             {
2026-06-07T22:53:32.1664397Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T22:53:32.1664769Z               "line": 139
2026-06-07T22:53:32.1665051Z             },
2026-06-07T22:53:32.1665302Z             {
2026-06-07T22:53:32.1665611Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.1665988Z               "line": 21
2026-06-07T22:53:32.1666269Z             },
2026-06-07T22:53:32.1666531Z             {
2026-06-07T22:53:32.1666832Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.1667281Z               "line": 38
2026-06-07T22:53:32.1667581Z             },
2026-06-07T22:53:32.1667828Z             {
2026-06-07T22:53:32.1668128Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.1668506Z               "line": 190
2026-06-07T22:53:32.1668792Z             },
2026-06-07T22:53:32.1669055Z             {
2026-06-07T22:53:32.1669356Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.1669722Z               "line": 232
2026-06-07T22:53:32.1670004Z             },
2026-06-07T22:53:32.1670252Z             {
2026-06-07T22:53:32.1670586Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.1671006Z               "line": 262
2026-06-07T22:53:32.1671226Z             },
2026-06-07T22:53:32.1671412Z             {
2026-06-07T22:53:32.1671741Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T22:53:32.1672123Z               "line": 17
2026-06-07T22:53:32.1672414Z             },
2026-06-07T22:53:32.1672666Z             {
2026-06-07T22:53:32.1672980Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T22:53:32.1673356Z               "line": 30
2026-06-07T22:53:32.1673630Z             },
2026-06-07T22:53:32.1673888Z             {
2026-06-07T22:53:32.1674179Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T22:53:32.1674560Z               "line": 63
2026-06-07T22:53:32.1674841Z             },
2026-06-07T22:53:32.1675109Z             {
2026-06-07T22:53:32.1675404Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T22:53:32.1675771Z               "line": 76
2026-06-07T22:53:32.1676052Z             }
2026-06-07T22:53:32.1676310Z           ]
2026-06-07T22:53:32.1676553Z         },
2026-06-07T22:53:32.1676809Z         "int": {
2026-06-07T22:53:32.1677167Z           "complete": true,
2026-06-07T22:53:32.1677473Z           "evidence": [
2026-06-07T22:53:32.1677768Z             {
2026-06-07T22:53:32.1678088Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T22:53:32.1678476Z               "line": 14
2026-06-07T22:53:32.1678673Z             },
2026-06-07T22:53:32.1678845Z             {
2026-06-07T22:53:32.1679047Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T22:53:32.1679296Z               "line": 183
2026-06-07T22:53:32.1679483Z             }
2026-06-07T22:53:32.1679662Z           ]
2026-06-07T22:53:32.1679830Z         },
2026-06-07T22:53:32.1679982Z         "unit": {
2026-06-07T22:53:32.1680159Z           "complete": true,
2026-06-07T22:53:32.1680354Z           "evidence": [
2026-06-07T22:53:32.1680539Z             {
2026-06-07T22:53:32.1680737Z               "path": "crates/spt-store/src/history.rs",
2026-06-07T22:53:32.1680984Z               "line": 42
2026-06-07T22:53:32.1681174Z             },
2026-06-07T22:53:32.1681345Z             {
2026-06-07T22:53:32.1681538Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T22:53:32.1681786Z               "line": 254
2026-06-07T22:53:32.1681972Z             },
2026-06-07T22:53:32.1682140Z             {
2026-06-07T22:53:32.1682492Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.1682844Z               "line": 438
2026-06-07T22:53:32.1683040Z             },
2026-06-07T22:53:32.1683207Z             {
2026-06-07T22:53:32.1683421Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.1683788Z               "line": 449
2026-06-07T22:53:32.1684002Z             },
2026-06-07T22:53:32.1684176Z             {
2026-06-07T22:53:32.1684377Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.1684639Z               "line": 581
2026-06-07T22:53:32.1684829Z             },
2026-06-07T22:53:32.1685011Z             {
2026-06-07T22:53:32.1685297Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.1685551Z               "line": 593
2026-06-07T22:53:32.1685740Z             },
2026-06-07T22:53:32.1685917Z             {
2026-06-07T22:53:32.1686112Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T22:53:32.1686359Z               "line": 141
2026-06-07T22:53:32.1686566Z             },
2026-06-07T22:53:32.1686735Z             {
2026-06-07T22:53:32.1686927Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T22:53:32.1687350Z               "line": 185
2026-06-07T22:53:32.1687542Z             }
2026-06-07T22:53:32.1687728Z           ]
2026-06-07T22:53:32.1687899Z         }
2026-06-07T22:53:32.1688061Z       }
2026-06-07T22:53:32.1688228Z     },
2026-06-07T22:53:32.1688396Z     {
2026-06-07T22:53:32.1688576Z       "id": "REQ-API-3",
2026-06-07T22:53:32.1688830Z       "title": "commune/signoff are file-drops, not commands",
2026-06-07T22:53:32.1689121Z       "requiredStages": [
2026-06-07T22:53:32.1689323Z         "impl",
2026-06-07T22:53:32.1689555Z         "unit",
2026-06-07T22:53:32.1689738Z         "int"
2026-06-07T22:53:32.1689912Z       ],
2026-06-07T22:53:32.1702181Z       "stages": {
2026-06-07T22:53:32.1702408Z         "doc": {
2026-06-07T22:53:32.1702616Z           "complete": false,
2026-06-07T22:53:32.1702850Z           "evidence": []
2026-06-07T22:53:32.1703073Z         },
2026-06-07T22:53:32.1703255Z         "impl": {
2026-06-07T22:53:32.1703441Z           "complete": true,
2026-06-07T22:53:32.1703659Z           "evidence": [
2026-06-07T22:53:32.1703851Z             {
2026-06-07T22:53:32.1704071Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T22:53:32.1704332Z               "line": 27
2026-06-07T22:53:32.1704532Z             },
2026-06-07T22:53:32.1704695Z             {
2026-06-07T22:53:32.1704918Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.1705187Z               "line": 372
2026-06-07T22:53:32.1705397Z             }
2026-06-07T22:53:32.1705568Z           ]
2026-06-07T22:53:32.1705741Z         },
2026-06-07T22:53:32.1705901Z         "int": {
2026-06-07T22:53:32.1706084Z           "complete": true,
2026-06-07T22:53:32.1706293Z           "evidence": [
2026-06-07T22:53:32.1706480Z             {
2026-06-07T22:53:32.1706690Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T22:53:32.1707052Z               "line": 257
2026-06-07T22:53:32.1707257Z             }
2026-06-07T22:53:32.1707427Z           ]
2026-06-07T22:53:32.1707591Z         },
2026-06-07T22:53:32.1707761Z         "unit": {
2026-06-07T22:53:32.1707962Z           "complete": true,
2026-06-07T22:53:32.1708166Z           "evidence": [
2026-06-07T22:53:32.1708353Z             {
2026-06-07T22:53:32.1708562Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T22:53:32.1708814Z               "line": 242
2026-06-07T22:53:32.1709005Z             },
2026-06-07T22:53:32.1709177Z             {
2026-06-07T22:53:32.1709377Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.1709639Z               "line": 622
2026-06-07T22:53:32.1709826Z             }
2026-06-07T22:53:32.1709997Z           ]
2026-06-07T22:53:32.1710175Z         }
2026-06-07T22:53:32.1710335Z       }
2026-06-07T22:53:32.1710497Z     },
2026-06-07T22:53:32.1710657Z     {
2026-06-07T22:53:32.1710829Z       "id": "REQ-ARCH-1",
2026-06-07T22:53:32.1711225Z       "title": "Many small acyclically-layered crates",
2026-06-07T22:53:32.1711496Z       "requiredStages": [
2026-06-07T22:53:32.1711696Z         "impl"
2026-06-07T22:53:32.1711873Z       ],
2026-06-07T22:53:32.1712150Z       "stages": {
2026-06-07T22:53:32.1712330Z         "doc": {
2026-06-07T22:53:32.1712521Z           "complete": false,
2026-06-07T22:53:32.1712737Z           "evidence": []
2026-06-07T22:53:32.1712925Z         },
2026-06-07T22:53:32.1713092Z         "impl": {
2026-06-07T22:53:32.1713275Z           "complete": true,
2026-06-07T22:53:32.1713476Z           "evidence": [
2026-06-07T22:53:32.1713667Z             {
2026-06-07T22:53:32.1713857Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-07T22:53:32.1714110Z               "line": 16
2026-06-07T22:53:32.1714306Z             },
2026-06-07T22:53:32.1714483Z             {
2026-06-07T22:53:32.1714679Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-07T22:53:32.1714930Z               "line": 12
2026-06-07T22:53:32.1715135Z             },
2026-06-07T22:53:32.1715303Z             {
2026-06-07T22:53:32.1715506Z               "path": "crates/spt-store/src/lib.rs",
2026-06-07T22:53:32.1715762Z               "line": 12
2026-06-07T22:53:32.1715962Z             }
2026-06-07T22:53:32.1716128Z           ]
2026-06-07T22:53:32.1716297Z         },
2026-06-07T22:53:32.1716466Z         "int": {
2026-06-07T22:53:32.1716649Z           "complete": false,
2026-06-07T22:53:32.1716863Z           "evidence": []
2026-06-07T22:53:32.1717153Z         },
2026-06-07T22:53:32.1717325Z         "unit": {
2026-06-07T22:53:32.1717512Z           "complete": false,
2026-06-07T22:53:32.1717721Z           "evidence": []
2026-06-07T22:53:32.1717913Z         }
2026-06-07T22:53:32.1718074Z       }
2026-06-07T22:53:32.1718237Z     },
2026-06-07T22:53:32.1718402Z     {
2026-06-07T22:53:32.1718584Z       "id": "REQ-ARCH-2",
2026-06-07T22:53:32.1718860Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-07T22:53:32.1719189Z       "requiredStages": [
2026-06-07T22:53:32.1719437Z         "impl"
2026-06-07T22:53:32.1719604Z       ],
2026-06-07T22:53:32.1719757Z       "stages": {
2026-06-07T22:53:32.1719933Z         "doc": {
2026-06-07T22:53:32.1720110Z           "complete": false,
2026-06-07T22:53:32.1720324Z           "evidence": []
2026-06-07T22:53:32.1720519Z         },
2026-06-07T22:53:32.1720692Z         "impl": {
2026-06-07T22:53:32.1720871Z           "complete": true,
2026-06-07T22:53:32.1721076Z           "evidence": [
2026-06-07T22:53:32.1721264Z             {
2026-06-07T22:53:32.1721470Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-07T22:53:32.1721723Z               "line": 18
2026-06-07T22:53:32.1721913Z             }
2026-06-07T22:53:32.1722080Z           ]
2026-06-07T22:53:32.1722246Z         },
2026-06-07T22:53:32.1722409Z         "int": {
2026-06-07T22:53:32.1722590Z           "complete": false,
2026-06-07T22:53:32.1722795Z           "evidence": []
2026-06-07T22:53:32.1722992Z         },
2026-06-07T22:53:32.1723158Z         "unit": {
2026-06-07T22:53:32.1723335Z           "complete": false,
2026-06-07T22:53:32.1723542Z           "evidence": []
2026-06-07T22:53:32.1723727Z         }
2026-06-07T22:53:32.1723888Z       }
2026-06-07T22:53:32.1724056Z     },
2026-06-07T22:53:32.1724212Z     {
2026-06-07T22:53:32.1724394Z       "id": "REQ-ARCH-3",
2026-06-07T22:53:32.1741783Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-07T22:53:32.1742187Z       "requiredStages": [
2026-06-07T22:53:32.1742404Z         "impl",
2026-06-07T22:53:32.1742580Z         "unit"
2026-06-07T22:53:32.1742756Z       ],
2026-06-07T22:53:32.1742924Z       "stages": {
2026-06-07T22:53:32.1743100Z         "doc": {
2026-06-07T22:53:32.1743286Z           "complete": false,
2026-06-07T22:53:32.1743497Z           "evidence": []
2026-06-07T22:53:32.1743686Z         },
2026-06-07T22:53:32.1743849Z         "impl": {
2026-06-07T22:53:32.1744029Z           "complete": true,
2026-06-07T22:53:32.1744388Z           "evidence": [
2026-06-07T22:53:32.1744577Z             {
2026-06-07T22:53:32.1744787Z               "path": "crates/spt-proto/src/version.rs",
2026-06-07T22:53:32.1745047Z               "line": 34
2026-06-07T22:53:32.1745333Z             },
2026-06-07T22:53:32.1745500Z             {
2026-06-07T22:53:32.1745696Z               "path": "crates/spt-proto/src/version.rs",
2026-06-07T22:53:32.1745947Z               "line": 41
2026-06-07T22:53:32.1746134Z             }
2026-06-07T22:53:32.1746297Z           ]
2026-06-07T22:53:32.1746463Z         },
2026-06-07T22:53:32.1746630Z         "int": {
2026-06-07T22:53:32.1746806Z           "complete": false,
2026-06-07T22:53:32.1747106Z           "evidence": []
2026-06-07T22:53:32.1747301Z         },
2026-06-07T22:53:32.1747466Z         "unit": {
2026-06-07T22:53:32.1747652Z           "complete": true,
2026-06-07T22:53:32.1747851Z           "evidence": [
2026-06-07T22:53:32.1748033Z             {
2026-06-07T22:53:32.1748233Z               "path": "crates/spt-proto/src/version.rs",
2026-06-07T22:53:32.1748495Z               "line": 51
2026-06-07T22:53:32.1748677Z             },
2026-06-07T22:53:32.1748849Z             {
2026-06-07T22:53:32.1749043Z               "path": "crates/spt-proto/src/version.rs",
2026-06-07T22:53:32.1749311Z               "line": 71
2026-06-07T22:53:32.1749502Z             },
2026-06-07T22:53:32.1749668Z             {
2026-06-07T22:53:32.1749870Z               "path": "crates/spt-proto/src/version.rs",
2026-06-07T22:53:32.1750120Z               "line": 83
2026-06-07T22:53:32.1750298Z             }
2026-06-07T22:53:32.1750459Z           ]
2026-06-07T22:53:32.1750613Z         }
2026-06-07T22:53:32.1750769Z       }
2026-06-07T22:53:32.1750927Z     },
2026-06-07T22:53:32.1751083Z     {
2026-06-07T22:53:32.1751246Z       "id": "REQ-ARCH-4",
2026-06-07T22:53:32.1751523Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-07T22:53:32.1751937Z       "requiredStages": [
2026-06-07T22:53:32.1752134Z         "impl",
2026-06-07T22:53:32.1752309Z         "unit"
2026-06-07T22:53:32.1752482Z       ],
2026-06-07T22:53:32.1752642Z       "stages": {
2026-06-07T22:53:32.1752823Z         "doc": {
2026-06-07T22:53:32.1752996Z           "complete": false,
2026-06-07T22:53:32.1753212Z           "evidence": []
2026-06-07T22:53:32.1753404Z         },
2026-06-07T22:53:32.1753573Z         "impl": {
2026-06-07T22:53:32.1753747Z           "complete": true,
2026-06-07T22:53:32.1753951Z           "evidence": [
2026-06-07T22:53:32.1754137Z             {
2026-06-07T22:53:32.1754333Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T22:53:32.1754590Z               "line": 82
2026-06-07T22:53:32.1754775Z             },
2026-06-07T22:53:32.1754939Z             {
2026-06-07T22:53:32.1755137Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T22:53:32.1755389Z               "line": 96
2026-06-07T22:53:32.1755573Z             },
2026-06-07T22:53:32.1755741Z             {
2026-06-07T22:53:32.1755936Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T22:53:32.1756188Z               "line": 116
2026-06-07T22:53:32.1756375Z             },
2026-06-07T22:53:32.1756542Z             {
2026-06-07T22:53:32.1756737Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T22:53:32.1757099Z               "line": 131
2026-06-07T22:53:32.1757295Z             },
2026-06-07T22:53:32.1757457Z             {
2026-06-07T22:53:32.1757643Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T22:53:32.1757895Z               "line": 181
2026-06-07T22:53:32.1758082Z             }
2026-06-07T22:53:32.1758256Z           ]
2026-06-07T22:53:32.1758421Z         },
2026-06-07T22:53:32.1758608Z         "int": {
2026-06-07T22:53:32.1758788Z           "complete": false,
2026-06-07T22:53:32.1758993Z           "evidence": []
2026-06-07T22:53:32.1759180Z         },
2026-06-07T22:53:32.1759342Z         "unit": {
2026-06-07T22:53:32.1759519Z           "complete": true,
2026-06-07T22:53:32.1759843Z           "evidence": [
2026-06-07T22:53:32.1760023Z             {
2026-06-07T22:53:32.1760228Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T22:53:32.1760477Z               "line": 242
2026-06-07T22:53:32.1760656Z             },
2026-06-07T22:53:32.1760933Z             {
2026-06-07T22:53:32.1761125Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T22:53:32.1761373Z               "line": 252
2026-06-07T22:53:32.1761553Z             },
2026-06-07T22:53:32.1761716Z             {
2026-06-07T22:53:32.1761910Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T22:53:32.1762163Z               "line": 263
2026-06-07T22:53:32.1762350Z             },
2026-06-07T22:53:32.1762517Z             {
2026-06-07T22:53:32.1762708Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T22:53:32.1762957Z               "line": 274
2026-06-07T22:53:32.1763135Z             },
2026-06-07T22:53:32.1763307Z             {
2026-06-07T22:53:32.1763500Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T22:53:32.1763819Z               "line": 286
2026-06-07T22:53:32.1763997Z             },
2026-06-07T22:53:32.1764153Z             {
2026-06-07T22:53:32.1764340Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T22:53:32.1764593Z               "line": 299
2026-06-07T22:53:32.1764792Z             },
2026-06-07T22:53:32.1764960Z             {
2026-06-07T22:53:32.1765150Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T22:53:32.1765407Z               "line": 310
2026-06-07T22:53:32.1765599Z             },
2026-06-07T22:53:32.1765773Z             {
2026-06-07T22:53:32.1765963Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T22:53:32.1766215Z               "line": 327
2026-06-07T22:53:32.1766405Z             },
2026-06-07T22:53:32.1766568Z             {
2026-06-07T22:53:32.1766763Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T22:53:32.1767112Z               "line": 358
2026-06-07T22:53:32.1767302Z             }
2026-06-07T22:53:32.1767475Z           ]
2026-06-07T22:53:32.1767635Z         }
2026-06-07T22:53:32.1767799Z       }
2026-06-07T22:53:32.1767955Z     },
2026-06-07T22:53:32.1768184Z     {
2026-06-07T22:53:32.1768349Z       "id": "REQ-CLI-1",
2026-06-07T22:53:32.1769511Z       "title": "spt endpoint noun namespace: absorbs fork/suspend/wake/shutdown/rename/stop/digest + access (ported 1:1: allow|revoke|open|list, decision 21) + description (ex-resources blurb; bare=show, set=author); merged endpoint list [--local|--subnet <name>] grouped by subnet with SELF pinned, --detail adding the ex-resources yellow-pages blurb projection; bare spt endpoint = the list (M8 decisions 1-2, 25)",
2026-06-07T22:53:32.1770802Z       "requiredStages": [
2026-06-07T22:53:32.1771000Z         "impl",
2026-06-07T22:53:32.1771178Z         "unit"
2026-06-07T22:53:32.1771342Z       ],
2026-06-07T22:53:32.1771507Z       "stages": {
2026-06-07T22:53:32.1771680Z         "doc": {
2026-06-07T22:53:32.1771860Z           "complete": false,
2026-06-07T22:53:32.1772085Z           "evidence": []
2026-06-07T22:53:32.1772276Z         },
2026-06-07T22:53:32.1772442Z         "impl": {
2026-06-07T22:53:32.1772619Z           "complete": true,
2026-06-07T22:53:32.1772824Z           "evidence": [
2026-06-07T22:53:32.1773010Z             {
2026-06-07T22:53:32.1773197Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1773439Z               "line": 193
2026-06-07T22:53:32.1773635Z             },
2026-06-07T22:53:32.1773805Z             {
2026-06-07T22:53:32.1773989Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1774233Z               "line": 740
2026-06-07T22:53:32.1774427Z             },
2026-06-07T22:53:32.1774599Z             {
2026-06-07T22:53:32.1774785Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1775023Z               "line": 1040
2026-06-07T22:53:32.1775220Z             },
2026-06-07T22:53:32.1775396Z             {
2026-06-07T22:53:32.1775590Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1775949Z               "line": 1816
2026-06-07T22:53:32.1776145Z             }
2026-06-07T22:53:32.1776310Z           ]
2026-06-07T22:53:32.1776476Z         },
2026-06-07T22:53:32.1776655Z         "int": {
2026-06-07T22:53:32.1776842Z           "complete": false,
2026-06-07T22:53:32.1777246Z           "evidence": []
2026-06-07T22:53:32.1777443Z         },
2026-06-07T22:53:32.1777604Z         "unit": {
2026-06-07T22:53:32.1777790Z           "complete": true,
2026-06-07T22:53:32.1777996Z           "evidence": [
2026-06-07T22:53:32.1778196Z             {
2026-06-07T22:53:32.1778383Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1778626Z               "line": 4618
2026-06-07T22:53:32.1778858Z             }
2026-06-07T22:53:32.1779020Z           ]
2026-06-07T22:53:32.1779184Z         }
2026-06-07T22:53:32.1779352Z       }
2026-06-07T22:53:32.1779513Z     },
2026-06-07T22:53:32.1779671Z     {
2026-06-07T22:53:32.1779842Z       "id": "REQ-CLI-2",
2026-06-07T22:53:32.1780644Z       "title": "spt daemon noun: run|stop|status (hidden daemon verb becomes daemon run; agent-endpoint shutdown keeps its name under endpoint); daemon status renders the pump heartbeat (last-tick recency) so a half-dead daemon is never rendered implied-healthy (M8 decisions 5, 23)",
2026-06-07T22:53:32.1781531Z       "requiredStages": [
2026-06-07T22:53:32.1781729Z         "impl",
2026-06-07T22:53:32.1781902Z         "unit"
2026-06-07T22:53:32.1782077Z       ],
2026-06-07T22:53:32.1782250Z       "stages": {
2026-06-07T22:53:32.1782435Z         "doc": {
2026-06-07T22:53:32.1782617Z           "complete": false,
2026-06-07T22:53:32.1782832Z           "evidence": []
2026-06-07T22:53:32.1783031Z         },
2026-06-07T22:53:32.1783203Z         "impl": {
2026-06-07T22:53:32.1783384Z           "complete": true,
2026-06-07T22:53:32.1783594Z           "evidence": [
2026-06-07T22:53:32.1783791Z             {
2026-06-07T22:53:32.1783995Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T22:53:32.1784265Z               "line": 260
2026-06-07T22:53:32.1784460Z             },
2026-06-07T22:53:32.1784629Z             {
2026-06-07T22:53:32.1784845Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-07T22:53:32.1785112Z               "line": 65
2026-06-07T22:53:32.1785307Z             },
2026-06-07T22:53:32.1785474Z             {
2026-06-07T22:53:32.1785675Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-07T22:53:32.1785936Z               "line": 239
2026-06-07T22:53:32.1786123Z             },
2026-06-07T22:53:32.1786285Z             {
2026-06-07T22:53:32.1786466Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1786701Z               "line": 337
2026-06-07T22:53:32.1786884Z             },
2026-06-07T22:53:32.1787163Z             {
2026-06-07T22:53:32.1787341Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1787573Z               "line": 782
2026-06-07T22:53:32.1787755Z             },
2026-06-07T22:53:32.1787917Z             {
2026-06-07T22:53:32.1788098Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1788346Z               "line": 1224
2026-06-07T22:53:32.1788532Z             },
2026-06-07T22:53:32.1788698Z             {
2026-06-07T22:53:32.1788886Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1789128Z               "line": 1239
2026-06-07T22:53:32.1789323Z             },
2026-06-07T22:53:32.1789488Z             {
2026-06-07T22:53:32.1789668Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1789912Z               "line": 1261
2026-06-07T22:53:32.1790106Z             }
2026-06-07T22:53:32.1790269Z           ]
2026-06-07T22:53:32.1790435Z         },
2026-06-07T22:53:32.1790593Z         "int": {
2026-06-07T22:53:32.1790779Z           "complete": false,
2026-06-07T22:53:32.1790988Z           "evidence": []
2026-06-07T22:53:32.1791181Z         },
2026-06-07T22:53:32.1791346Z         "unit": {
2026-06-07T22:53:32.1791537Z           "complete": true,
2026-06-07T22:53:32.1791738Z           "evidence": [
2026-06-07T22:53:32.1792028Z             {
2026-06-07T22:53:32.1792237Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-07T22:53:32.1792501Z               "line": 309
2026-06-07T22:53:32.1792690Z             },
2026-06-07T22:53:32.1792971Z             {
2026-06-07T22:53:32.1793153Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1793402Z               "line": 4756
2026-06-07T22:53:32.1793596Z             }
2026-06-07T22:53:32.1793763Z           ]
2026-06-07T22:53:32.1793930Z         }
2026-06-07T22:53:32.1794092Z       }
2026-06-07T22:53:32.1794254Z     },
2026-06-07T22:53:32.1794417Z     {
2026-06-07T22:53:32.1794588Z       "id": "REQ-CLI-3",
2026-06-07T22:53:32.1795396Z       "title": "Agent hot path stays flat across the M8 reorg: send/ring/ready/whoami/how-to unchanged; notify moves to subnet notify while notif stays top-level; breaking renames land clean with no deprecation shims (zero external CLI consumers pre-spt-claude-code) (M8 decisions 3-4, 9)",
2026-06-07T22:53:32.1796297Z       "requiredStages": [
2026-06-07T22:53:32.1796491Z         "impl",
2026-06-07T22:53:32.1796673Z         "unit"
2026-06-07T22:53:32.1796845Z       ],
2026-06-07T22:53:32.1797121Z       "stages": {
2026-06-07T22:53:32.1797298Z         "doc": {
2026-06-07T22:53:32.1797496Z           "complete": false,
2026-06-07T22:53:32.1797709Z           "evidence": []
2026-06-07T22:53:32.1797901Z         },
2026-06-07T22:53:32.1798061Z         "impl": {
2026-06-07T22:53:32.1798249Z           "complete": true,
2026-06-07T22:53:32.1798448Z           "evidence": [
2026-06-07T22:53:32.1798639Z             {
2026-06-07T22:53:32.1798830Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1799078Z               "line": 734
2026-06-07T22:53:32.1799263Z             }
2026-06-07T22:53:32.1799436Z           ]
2026-06-07T22:53:32.1799601Z         },
2026-06-07T22:53:32.1799766Z         "int": {
2026-06-07T22:53:32.1799944Z           "complete": false,
2026-06-07T22:53:32.1800149Z           "evidence": []
2026-06-07T22:53:32.1800347Z         },
2026-06-07T22:53:32.1800516Z         "unit": {
2026-06-07T22:53:32.1800695Z           "complete": true,
2026-06-07T22:53:32.1800900Z           "evidence": [
2026-06-07T22:53:32.1801097Z             {
2026-06-07T22:53:32.1801291Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1801535Z               "line": 4583
2026-06-07T22:53:32.1801731Z             }
2026-06-07T22:53:32.1801901Z           ]
2026-06-07T22:53:32.1802070Z         }
2026-06-07T22:53:32.1802230Z       }
2026-06-07T22:53:32.1802408Z     },
2026-06-07T22:53:32.1802574Z     {
2026-06-07T22:53:32.1802746Z       "id": "REQ-CONSENT-1",
2026-06-07T22:53:32.1803733Z       "title": "Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)",
2026-06-07T22:53:32.1804858Z       "requiredStages": [
2026-06-07T22:53:32.1805057Z         "impl",
2026-06-07T22:53:32.1805231Z         "unit"
2026-06-07T22:53:32.1805405Z       ],
2026-06-07T22:53:32.1805576Z       "stages": {
2026-06-07T22:53:32.1805768Z         "doc": {
2026-06-07T22:53:32.1805951Z           "complete": false,
2026-06-07T22:53:32.1806155Z           "evidence": []
2026-06-07T22:53:32.1806351Z         },
2026-06-07T22:53:32.1806523Z         "impl": {
2026-06-07T22:53:32.1806708Z           "complete": true,
2026-06-07T22:53:32.1806914Z           "evidence": [
2026-06-07T22:53:32.1807177Z             {
2026-06-07T22:53:32.1807390Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.1807648Z               "line": 27
2026-06-07T22:53:32.1807839Z             },
2026-06-07T22:53:32.1808014Z             {
2026-06-07T22:53:32.1808222Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.1808480Z               "line": 75
2026-06-07T22:53:32.1808908Z             },
2026-06-07T22:53:32.1809076Z             {
2026-06-07T22:53:32.1809284Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.1809542Z               "line": 98
2026-06-07T22:53:32.1809900Z             },
2026-06-07T22:53:32.1810068Z             {
2026-06-07T22:53:32.1810262Z               "path": "crates/spt-store/src/grants.rs",
2026-06-07T22:53:32.1810514Z               "line": 82
2026-06-07T22:53:32.1810705Z             },
2026-06-07T22:53:32.1810869Z             {
2026-06-07T22:53:32.1811066Z               "path": "crates/spt-store/src/grants.rs",
2026-06-07T22:53:32.1811333Z               "line": 109
2026-06-07T22:53:32.1811527Z             },
2026-06-07T22:53:32.1811699Z             {
2026-06-07T22:53:32.1811894Z               "path": "crates/spt-store/src/grants.rs",
2026-06-07T22:53:32.1812151Z               "line": 127
2026-06-07T22:53:32.1812348Z             },
2026-06-07T22:53:32.1812510Z             {
2026-06-07T22:53:32.1812709Z               "path": "crates/spt-store/src/grants.rs",
2026-06-07T22:53:32.1812973Z               "line": 142
2026-06-07T22:53:32.1813163Z             },
2026-06-07T22:53:32.1813330Z             {
2026-06-07T22:53:32.1858545Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1858995Z               "line": 4319
2026-06-07T22:53:32.1859218Z             }
2026-06-07T22:53:32.1859390Z           ]
2026-06-07T22:53:32.1859552Z         },
2026-06-07T22:53:32.1859719Z         "int": {
2026-06-07T22:53:32.1859982Z           "complete": false,
2026-06-07T22:53:32.1860292Z           "evidence": []
2026-06-07T22:53:32.1860491Z         },
2026-06-07T22:53:32.1860659Z         "unit": {
2026-06-07T22:53:32.1860843Z           "complete": true,
2026-06-07T22:53:32.1861051Z           "evidence": [
2026-06-07T22:53:32.1861237Z             {
2026-06-07T22:53:32.1861455Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.1861723Z               "line": 334
2026-06-07T22:53:32.1861924Z             },
2026-06-07T22:53:32.1862095Z             {
2026-06-07T22:53:32.1862300Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.1862554Z               "line": 380
2026-06-07T22:53:32.1862739Z             },
2026-06-07T22:53:32.1862906Z             {
2026-06-07T22:53:32.1863102Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.1863358Z               "line": 391
2026-06-07T22:53:32.1863547Z             },
2026-06-07T22:53:32.1863712Z             {
2026-06-07T22:53:32.1863909Z               "path": "crates/spt-store/src/grants.rs",
2026-06-07T22:53:32.1864161Z               "line": 165
2026-06-07T22:53:32.1864351Z             },
2026-06-07T22:53:32.1864519Z             {
2026-06-07T22:53:32.1864710Z               "path": "crates/spt-store/src/grants.rs",
2026-06-07T22:53:32.1864952Z               "line": 184
2026-06-07T22:53:32.1865143Z             },
2026-06-07T22:53:32.1865305Z             {
2026-06-07T22:53:32.1865496Z               "path": "crates/spt-store/src/grants.rs",
2026-06-07T22:53:32.1865750Z               "line": 204
2026-06-07T22:53:32.1865935Z             },
2026-06-07T22:53:32.1866102Z             {
2026-06-07T22:53:32.1866281Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1866535Z               "line": 4909
2026-06-07T22:53:32.1866726Z             }
2026-06-07T22:53:32.1866887Z           ]
2026-06-07T22:53:32.1867154Z         }
2026-06-07T22:53:32.1867313Z       }
2026-06-07T22:53:32.1867474Z     },
2026-06-07T22:53:32.1867637Z     {
2026-06-07T22:53:32.1867808Z       "id": "REQ-CONSENT-2",
2026-06-07T22:53:32.1868742Z       "title": "Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)",
2026-06-07T22:53:32.1869754Z       "requiredStages": [
2026-06-07T22:53:32.1870180Z         "impl",
2026-06-07T22:53:32.1870351Z         "unit"
2026-06-07T22:53:32.1870518Z       ],
2026-06-07T22:53:32.1870685Z       "stages": {
2026-06-07T22:53:32.1870852Z         "doc": {
2026-06-07T22:53:32.1871028Z           "complete": false,
2026-06-07T22:53:32.1871341Z           "evidence": []
2026-06-07T22:53:32.1871541Z         },
2026-06-07T22:53:32.1871706Z         "impl": {
2026-06-07T22:53:32.1871883Z           "complete": true,
2026-06-07T22:53:32.1872088Z           "evidence": [
2026-06-07T22:53:32.1872274Z             {
2026-06-07T22:53:32.1872479Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.1872737Z               "line": 140
2026-06-07T22:53:32.1872922Z             },
2026-06-07T22:53:32.1873099Z             {
2026-06-07T22:53:32.1873299Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.1873557Z               "line": 165
2026-06-07T22:53:32.1873748Z             },
2026-06-07T22:53:32.1873913Z             {
2026-06-07T22:53:32.1874112Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.1874364Z               "line": 199
2026-06-07T22:53:32.1874549Z             },
2026-06-07T22:53:32.1874712Z             {
2026-06-07T22:53:32.1874907Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.1875164Z               "line": 241
2026-06-07T22:53:32.1875351Z             },
2026-06-07T22:53:32.1875517Z             {
2026-06-07T22:53:32.1875708Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.1875957Z               "line": 269
2026-06-07T22:53:32.1876151Z             },
2026-06-07T22:53:32.1876324Z             {
2026-06-07T22:53:32.1876524Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.1876780Z               "line": 300
2026-06-07T22:53:32.1877137Z             },
2026-06-07T22:53:32.1877305Z             {
2026-06-07T22:53:32.1877495Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1877738Z               "line": 4184
2026-06-07T22:53:32.1877939Z             },
2026-06-07T22:53:32.1878105Z             {
2026-06-07T22:53:32.1878282Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1878527Z               "line": 4242
2026-06-07T22:53:32.1878735Z             }
2026-06-07T22:53:32.1878954Z           ]
2026-06-07T22:53:32.1879127Z         },
2026-06-07T22:53:32.1879287Z         "int": {
2026-06-07T22:53:32.1879473Z           "complete": false,
2026-06-07T22:53:32.1879675Z           "evidence": []
2026-06-07T22:53:32.1879862Z         },
2026-06-07T22:53:32.1880028Z         "unit": {
2026-06-07T22:53:32.1880206Z           "complete": true,
2026-06-07T22:53:32.1880406Z           "evidence": [
2026-06-07T22:53:32.1880591Z             {
2026-06-07T22:53:32.1880783Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.1881035Z               "line": 419
2026-06-07T22:53:32.1881226Z             },
2026-06-07T22:53:32.1881394Z             {
2026-06-07T22:53:32.1881583Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.1881850Z               "line": 436
2026-06-07T22:53:32.1882035Z             },
2026-06-07T22:53:32.1882200Z             {
2026-06-07T22:53:32.1882391Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.1882643Z               "line": 472
2026-06-07T22:53:32.1882829Z             },
2026-06-07T22:53:32.1882992Z             {
2026-06-07T22:53:32.1883186Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.1883440Z               "line": 516
2026-06-07T22:53:32.1883622Z             },
2026-06-07T22:53:32.1883783Z             {
2026-06-07T22:53:32.1883965Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1884212Z               "line": 5804
2026-06-07T22:53:32.1884407Z             },
2026-06-07T22:53:32.1884578Z             {
2026-06-07T22:53:32.1884766Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1885006Z               "line": 5886
2026-06-07T22:53:32.1885196Z             }
2026-06-07T22:53:32.1885467Z           ]
2026-06-07T22:53:32.1885629Z         }
2026-06-07T22:53:32.1885796Z       }
2026-06-07T22:53:32.1885954Z     },
2026-06-07T22:53:32.1886106Z     {
2026-06-07T22:53:32.1886292Z       "id": "REQ-CONV-1",
2026-06-07T22:53:32.1888089Z       "title": "Peer address seeding, both cold starts: durable peer-addrs.json (identity dir) maps peer pubkey → last-known dialable address; the pump's resolver consults it FIRST with id-only discovery fallback on miss or dial failure (a stale addr never strands a peer); written by the pairing ceremony (both sides, from the live connection) and by the pump on successful connect; post-join first sync and post-restart resync converge in seconds, not ~1 min (M8 decisions 14, 20)",
2026-06-07T22:53:32.1889552Z       "requiredStages": [
2026-06-07T22:53:32.1889754Z         "impl",
2026-06-07T22:53:32.1889928Z         "unit"
2026-06-07T22:53:32.1890104Z       ],
2026-06-07T22:53:32.1890273Z       "stages": {
2026-06-07T22:53:32.1890461Z         "doc": {
2026-06-07T22:53:32.1890641Z           "complete": false,
2026-06-07T22:53:32.1890846Z           "evidence": []
2026-06-07T22:53:32.1891037Z         },
2026-06-07T22:53:32.1891199Z         "impl": {
2026-06-07T22:53:32.1891385Z           "complete": true,
2026-06-07T22:53:32.1891591Z           "evidence": [
2026-06-07T22:53:32.1891781Z             {
2026-06-07T22:53:32.1891996Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T22:53:32.1892259Z               "line": 576
2026-06-07T22:53:32.1892443Z             },
2026-06-07T22:53:32.1892605Z             {
2026-06-07T22:53:32.1892807Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T22:53:32.1893070Z               "line": 97
2026-06-07T22:53:32.1893252Z             },
2026-06-07T22:53:32.1893422Z             {
2026-06-07T22:53:32.1893623Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T22:53:32.1893876Z               "line": 324
2026-06-07T22:53:32.1894066Z             },
2026-06-07T22:53:32.1894243Z             {
2026-06-07T22:53:32.1894438Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T22:53:32.1894691Z               "line": 365
2026-06-07T22:53:32.1894883Z             },
2026-06-07T22:53:32.1895047Z             {
2026-06-07T22:53:32.1895251Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T22:53:32.1895504Z               "line": 444
2026-06-07T22:53:32.1895693Z             },
2026-06-07T22:53:32.1895866Z             {
2026-06-07T22:53:32.1896066Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.1896322Z               "line": 544
2026-06-07T22:53:32.1896514Z             },
2026-06-07T22:53:32.1896681Z             {
2026-06-07T22:53:32.1896890Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.1897239Z               "line": 570
2026-06-07T22:53:32.1897435Z             },
2026-06-07T22:53:32.1897606Z             {
2026-06-07T22:53:32.1897811Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.1898096Z               "line": 333
2026-06-07T22:53:32.1898286Z             },
2026-06-07T22:53:32.1898459Z             {
2026-06-07T22:53:32.1898659Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-07T22:53:32.1898979Z               "line": 19
2026-06-07T22:53:32.1899163Z             }
2026-06-07T22:53:32.1899341Z           ]
2026-06-07T22:53:32.1899579Z         },
2026-06-07T22:53:32.1899937Z         "int": {
2026-06-07T22:53:32.1900219Z           "complete": false,
2026-06-07T22:53:32.1900531Z           "evidence": []
2026-06-07T22:53:32.1900959Z         },
2026-06-07T22:53:32.1901236Z         "unit": {
2026-06-07T22:53:32.1901502Z           "complete": true,
2026-06-07T22:53:32.1901884Z           "evidence": [
2026-06-07T22:53:32.1902175Z             {
2026-06-07T22:53:32.1902500Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.1902867Z               "line": 833
2026-06-07T22:53:32.1903132Z             },
2026-06-07T22:53:32.1903568Z             {
2026-06-07T22:53:32.1903878Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-07T22:53:32.1904250Z               "line": 108
2026-06-07T22:53:32.1904593Z             },
2026-06-07T22:53:32.1904836Z             {
2026-06-07T22:53:32.1905308Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-07T22:53:32.1905660Z               "line": 134
2026-06-07T22:53:32.1905968Z             },
2026-06-07T22:53:32.1906253Z             {
2026-06-07T22:53:32.1906540Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-07T22:53:32.1907060Z               "line": 144
2026-06-07T22:53:32.1907342Z             }
2026-06-07T22:53:32.1907633Z           ]
2026-06-07T22:53:32.1907899Z         }
2026-06-07T22:53:32.1908151Z       }
2026-06-07T22:53:32.1908450Z     },
2026-06-07T22:53:32.1908700Z     {
2026-06-07T22:53:32.1908957Z       "id": "REQ-CONV-2",
2026-06-07T22:53:32.1910386Z       "title": "Event-driven advertisement: endpoint online/offline transitions (ready-listener start/stop, rest-state transition, perch death) trigger an immediate advertise_local + peer push as a WAKE of the existing pump loop (no second advertisement path — epoch lease + visibility gates ride unchanged); the cadence stays the steady-state floor (M8 decision 15)",
2026-06-07T22:53:32.1911685Z       "requiredStages": [
2026-06-07T22:53:32.1912014Z         "impl",
2026-06-07T22:53:32.1912276Z         "unit"
2026-06-07T22:53:32.1912529Z       ],
2026-06-07T22:53:32.1912834Z       "stages": {
2026-06-07T22:53:32.1913158Z         "doc": {
2026-06-07T22:53:32.1913459Z           "complete": false,
2026-06-07T22:53:32.1913767Z           "evidence": []
2026-06-07T22:53:32.1914038Z         },
2026-06-07T22:53:32.1914343Z         "impl": {
2026-06-07T22:53:32.1914629Z           "complete": true,
2026-06-07T22:53:32.1914944Z           "evidence": [
2026-06-07T22:53:32.1915321Z             {
2026-06-07T22:53:32.1915636Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.1916059Z               "line": 316
2026-06-07T22:53:32.1916352Z             },
2026-06-07T22:53:32.1916629Z             {
2026-06-07T22:53:32.1917301Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.1917658Z               "line": 292
2026-06-07T22:53:32.1917987Z             },
2026-06-07T22:53:32.1918259Z             {
2026-06-07T22:53:32.1918611Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.1919145Z               "line": 625
2026-06-07T22:53:32.1919421Z             },
2026-06-07T22:53:32.1919731Z             {
2026-06-07T22:53:32.1920021Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.1920365Z               "line": 636
2026-06-07T22:53:32.1920709Z             },
2026-06-07T22:53:32.1921000Z             {
2026-06-07T22:53:32.1921416Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.1921757Z               "line": 334
2026-06-07T22:53:32.1922021Z             },
2026-06-07T22:53:32.1922346Z             {
2026-06-07T22:53:32.1922617Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1922995Z               "line": 1771
2026-06-07T22:53:32.1923290Z             },
2026-06-07T22:53:32.1923576Z             {
2026-06-07T22:53:32.1923911Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1924238Z               "line": 1787
2026-06-07T22:53:32.1924559Z             },
2026-06-07T22:53:32.1924830Z             {
2026-06-07T22:53:32.1925112Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1925727Z               "line": 1844
2026-06-07T22:53:32.1926052Z             }
2026-06-07T22:53:32.1926323Z           ]
2026-06-07T22:53:32.1926591Z         },
2026-06-07T22:53:32.1926861Z         "int": {
2026-06-07T22:53:32.1927255Z           "complete": false,
2026-06-07T22:53:32.1927575Z           "evidence": []
2026-06-07T22:53:32.1927842Z         },
2026-06-07T22:53:32.1928137Z         "unit": {
2026-06-07T22:53:32.1928457Z           "complete": true,
2026-06-07T22:53:32.1928919Z           "evidence": [
2026-06-07T22:53:32.1929214Z             {
2026-06-07T22:53:32.1929491Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.1929909Z               "line": 914
2026-06-07T22:53:32.1930291Z             }
2026-06-07T22:53:32.1930591Z           ]
2026-06-07T22:53:32.1930854Z         }
2026-06-07T22:53:32.1931120Z       }
2026-06-07T22:53:32.1931440Z     },
2026-06-07T22:53:32.1931689Z     {
2026-06-07T22:53:32.1931985Z       "id": "REQ-DAEMON-1",
2026-06-07T22:53:32.1932368Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-07T22:53:32.1932786Z       "requiredStages": [
2026-06-07T22:53:32.1933110Z         "impl",
2026-06-07T22:53:32.1933373Z         "unit",
2026-06-07T22:53:32.1933702Z         "int"
2026-06-07T22:53:32.1933974Z       ],
2026-06-07T22:53:32.1934237Z       "stages": {
2026-06-07T22:53:32.1934533Z         "doc": {
2026-06-07T22:53:32.1934807Z           "complete": false,
2026-06-07T22:53:32.1935120Z           "evidence": []
2026-06-07T22:53:32.1935444Z         },
2026-06-07T22:53:32.1935715Z         "impl": {
2026-06-07T22:53:32.1936059Z           "complete": true,
2026-06-07T22:53:32.1936374Z           "evidence": [
2026-06-07T22:53:32.1936640Z             {
2026-06-07T22:53:32.1937056Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T22:53:32.1937431Z               "line": 12
2026-06-07T22:53:32.1937730Z             },
2026-06-07T22:53:32.1938015Z             {
2026-06-07T22:53:32.1938788Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.1939226Z               "line": 16
2026-06-07T22:53:32.1939493Z             },
2026-06-07T22:53:32.1939769Z             {
2026-06-07T22:53:32.1940079Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-07T22:53:32.1940418Z               "line": 15
2026-06-07T22:53:32.1940851Z             },
2026-06-07T22:53:32.1941109Z             {
2026-06-07T22:53:32.1941471Z               "path": "crates/spt/src/api/live.rs",
2026-06-07T22:53:32.1941815Z               "line": 13
2026-06-07T22:53:32.1942110Z             }
2026-06-07T22:53:32.1942396Z           ]
2026-06-07T22:53:32.1942653Z         },
2026-06-07T22:53:32.1942961Z         "int": {
2026-06-07T22:53:32.1943232Z           "complete": true,
2026-06-07T22:53:32.1943509Z           "evidence": [
2026-06-07T22:53:32.1943890Z             {
2026-06-07T22:53:32.1944186Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-07T22:53:32.1944596Z               "line": 32
2026-06-07T22:53:32.1944872Z             }
2026-06-07T22:53:32.1945121Z           ]
2026-06-07T22:53:32.1945424Z         },
2026-06-07T22:53:32.1945675Z         "unit": {
2026-06-07T22:53:32.1946023Z           "complete": true,
2026-06-07T22:53:32.1946314Z           "evidence": [
2026-06-07T22:53:32.1946586Z             {
2026-06-07T22:53:32.1946919Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T22:53:32.1947364Z               "line": 285
2026-06-07T22:53:32.1947684Z             },
2026-06-07T22:53:32.1947953Z             {
2026-06-07T22:53:32.1948251Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T22:53:32.1948661Z               "line": 293
2026-06-07T22:53:32.1949004Z             },
2026-06-07T22:53:32.1955310Z             {
2026-06-07T22:53:32.1955601Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T22:53:32.1955884Z               "line": 309
2026-06-07T22:53:32.1956088Z             },
2026-06-07T22:53:32.1956259Z             {
2026-06-07T22:53:32.1956468Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T22:53:32.1956731Z               "line": 317
2026-06-07T22:53:32.1956927Z             },
2026-06-07T22:53:32.1957209Z             {
2026-06-07T22:53:32.1957422Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.1957718Z               "line": 565
2026-06-07T22:53:32.1957910Z             },
2026-06-07T22:53:32.1958080Z             {
2026-06-07T22:53:32.1958281Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.1958706Z               "line": 635
2026-06-07T22:53:32.1958903Z             },
2026-06-07T22:53:32.1959068Z             {
2026-06-07T22:53:32.1959270Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-07T22:53:32.1959622Z               "line": 104
2026-06-07T22:53:32.1959809Z             },
2026-06-07T22:53:32.1959979Z             {
2026-06-07T22:53:32.1960175Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-07T22:53:32.1960429Z               "line": 129
2026-06-07T22:53:32.1960618Z             }
2026-06-07T22:53:32.1960787Z           ]
2026-06-07T22:53:32.1960947Z         }
2026-06-07T22:53:32.1961111Z       }
2026-06-07T22:53:32.1961275Z     },
2026-06-07T22:53:32.1961438Z     {
2026-06-07T22:53:32.1961614Z       "id": "REQ-DAEMON-2",
2026-06-07T22:53:32.1961866Z       "title": "Broker/brain split for seamless self-update",
2026-06-07T22:53:32.1962162Z       "requiredStages": [
2026-06-07T22:53:32.1962373Z         "impl",
2026-06-07T22:53:32.1962548Z         "unit",
2026-06-07T22:53:32.1962725Z         "int"
2026-06-07T22:53:32.1962901Z       ],
2026-06-07T22:53:32.1963073Z       "stages": {
2026-06-07T22:53:32.1963163Z         "doc": {
2026-06-07T22:53:32.1963265Z           "complete": false,
2026-06-07T22:53:32.1963365Z           "evidence": []
2026-06-07T22:53:32.1963459Z         },
2026-06-07T22:53:32.1963545Z         "impl": {
2026-06-07T22:53:32.1963647Z           "complete": true,
2026-06-07T22:53:32.1963740Z           "evidence": [
2026-06-07T22:53:32.1963835Z             {
2026-06-07T22:53:32.1963964Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T22:53:32.1964057Z               "line": 23
2026-06-07T22:53:32.1964147Z             },
2026-06-07T22:53:32.1964228Z             {
2026-06-07T22:53:32.1964353Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T22:53:32.1964443Z               "line": 531
2026-06-07T22:53:32.1964529Z             },
2026-06-07T22:53:32.1964629Z             {
2026-06-07T22:53:32.1964739Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T22:53:32.1964838Z               "line": 684
2026-06-07T22:53:32.1964921Z             },
2026-06-07T22:53:32.1965011Z             {
2026-06-07T22:53:32.1965139Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T22:53:32.1965231Z               "line": 32
2026-06-07T22:53:32.1965320Z             },
2026-06-07T22:53:32.1965401Z             {
2026-06-07T22:53:32.1965516Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T22:53:32.1965607Z               "line": 191
2026-06-07T22:53:32.1965697Z             },
2026-06-07T22:53:32.1965792Z             {
2026-06-07T22:53:32.1965908Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T22:53:32.1966002Z               "line": 546
2026-06-07T22:53:32.1966088Z             },
2026-06-07T22:53:32.1966185Z             {
2026-06-07T22:53:32.1966297Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T22:53:32.1966396Z               "line": 788
2026-06-07T22:53:32.1966488Z             },
2026-06-07T22:53:32.1966573Z             {
2026-06-07T22:53:32.1966690Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-07T22:53:32.1966780Z               "line": 11
2026-06-07T22:53:32.1966877Z             },
2026-06-07T22:53:32.1967047Z             {
2026-06-07T22:53:32.1967158Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T22:53:32.1967263Z               "line": 146
2026-06-07T22:53:32.1967352Z             },
2026-06-07T22:53:32.1967439Z             {
2026-06-07T22:53:32.1967554Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T22:53:32.1967649Z               "line": 13
2026-06-07T22:53:32.1967744Z             },
2026-06-07T22:53:32.1967826Z             {
2026-06-07T22:53:32.1967949Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T22:53:32.1968040Z               "line": 27
2026-06-07T22:53:32.1968131Z             },
2026-06-07T22:53:32.1968216Z             {
2026-06-07T22:53:32.1968446Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T22:53:32.1968540Z               "line": 94
2026-06-07T22:53:32.1968626Z             },
2026-06-07T22:53:32.1968718Z             {
2026-06-07T22:53:32.1968925Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T22:53:32.1969020Z               "line": 415
2026-06-07T22:53:32.1969102Z             },
2026-06-07T22:53:32.1969195Z             {
2026-06-07T22:53:32.1969309Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T22:53:32.1969405Z               "line": 535
2026-06-07T22:53:32.1969492Z             },
2026-06-07T22:53:32.1969576Z             {
2026-06-07T22:53:32.1969691Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T22:53:32.1969772Z               "line": 595
2026-06-07T22:53:32.1969863Z             },
2026-06-07T22:53:32.1969953Z             {
2026-06-07T22:53:32.1970063Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T22:53:32.1970168Z               "line": 644
2026-06-07T22:53:32.1970253Z             },
2026-06-07T22:53:32.1970340Z             {
2026-06-07T22:53:32.1970453Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T22:53:32.1970548Z               "line": 692
2026-06-07T22:53:32.1970631Z             },
2026-06-07T22:53:32.1970707Z             {
2026-06-07T22:53:32.1970826Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-07T22:53:32.1970916Z               "line": 10
2026-06-07T22:53:32.1971008Z             }
2026-06-07T22:53:32.1971102Z           ]
2026-06-07T22:53:32.1971192Z         },
2026-06-07T22:53:32.1971280Z         "int": {
2026-06-07T22:53:32.1971375Z           "complete": true,
2026-06-07T22:53:32.1971468Z           "evidence": [
2026-06-07T22:53:32.1971556Z             {
2026-06-07T22:53:32.1971676Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-07T22:53:32.1971769Z               "line": 17
2026-06-07T22:53:32.1971854Z             },
2026-06-07T22:53:32.1971950Z             {
2026-06-07T22:53:32.1972079Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-07T22:53:32.1972174Z               "line": 33
2026-06-07T22:53:32.1972260Z             },
2026-06-07T22:53:32.1972346Z             {
2026-06-07T22:53:32.1972469Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-07T22:53:32.1972565Z               "line": 19
2026-06-07T22:53:32.1972656Z             },
2026-06-07T22:53:32.1972741Z             {
2026-06-07T22:53:32.1972866Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-07T22:53:32.1972957Z               "line": 70
2026-06-07T22:53:32.1973047Z             },
2026-06-07T22:53:32.1973142Z             {
2026-06-07T22:53:32.1973258Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-07T22:53:32.1973356Z               "line": 90
2026-06-07T22:53:32.1973442Z             },
2026-06-07T22:53:32.1973534Z             {
2026-06-07T22:53:32.1973652Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-07T22:53:32.1973752Z               "line": 166
2026-06-07T22:53:32.1973839Z             },
2026-06-07T22:53:32.1973911Z             {
2026-06-07T22:53:32.1974033Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-07T22:53:32.1974130Z               "line": 208
2026-06-07T22:53:32.1974217Z             },
2026-06-07T22:53:32.1974309Z             {
2026-06-07T22:53:32.1974433Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-07T22:53:32.1974529Z               "line": 127
2026-06-07T22:53:32.1974613Z             }
2026-06-07T22:53:32.1974707Z           ]
2026-06-07T22:53:32.1974789Z         },
2026-06-07T22:53:32.1974880Z         "unit": {
2026-06-07T22:53:32.1974970Z           "complete": true,
2026-06-07T22:53:32.1975060Z           "evidence": [
2026-06-07T22:53:32.1975142Z             {
2026-06-07T22:53:32.1975256Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-07T22:53:32.1975351Z               "line": 62
2026-06-07T22:53:32.1975533Z             },
2026-06-07T22:53:32.1975618Z             {
2026-06-07T22:53:32.1975733Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-07T22:53:32.1975824Z               "line": 76
2026-06-07T22:53:32.1975942Z             },
2026-06-07T22:53:32.1976096Z             {
2026-06-07T22:53:32.1976209Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-07T22:53:32.1976300Z               "line": 88
2026-06-07T22:53:32.1976391Z             },
2026-06-07T22:53:32.1976472Z             {
2026-06-07T22:53:32.1976591Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-07T22:53:32.1976687Z               "line": 294
2026-06-07T22:53:32.1976769Z             },
2026-06-07T22:53:32.1976862Z             {
2026-06-07T22:53:32.1977048Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T22:53:32.1977138Z               "line": 583
2026-06-07T22:53:32.1977222Z             },
2026-06-07T22:53:32.1977312Z             {
2026-06-07T22:53:32.1977423Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T22:53:32.1977517Z               "line": 591
2026-06-07T22:53:32.1977607Z             },
2026-06-07T22:53:32.1977694Z             {
2026-06-07T22:53:32.1977804Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T22:53:32.1977898Z               "line": 608
2026-06-07T22:53:32.1977985Z             },
2026-06-07T22:53:32.1978076Z             {
2026-06-07T22:53:32.1978180Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T22:53:32.1978275Z               "line": 662
2026-06-07T22:53:32.1978367Z             },
2026-06-07T22:53:32.1978452Z             {
2026-06-07T22:53:32.1978571Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T22:53:32.1978663Z               "line": 762
2026-06-07T22:53:32.1978752Z             },
2026-06-07T22:53:32.1978833Z             {
2026-06-07T22:53:32.1978953Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T22:53:32.1979039Z               "line": 774
2026-06-07T22:53:32.1979138Z             },
2026-06-07T22:53:32.1979224Z             {
2026-06-07T22:53:32.1979344Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-07T22:53:32.1979438Z               "line": 110
2026-06-07T22:53:32.1979523Z             }
2026-06-07T22:53:32.1979615Z           ]
2026-06-07T22:53:32.1979699Z         }
2026-06-07T22:53:32.1979789Z       }
2026-06-07T22:53:32.1979879Z     },
2026-06-07T22:53:32.1979960Z     {
2026-06-07T22:53:32.1980061Z       "id": "REQ-DAEMON-3",
2026-06-07T22:53:32.1980217Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-07T22:53:32.1980314Z       "requiredStages": [
2026-06-07T22:53:32.1980399Z         "impl",
2026-06-07T22:53:32.1980489Z         "unit",
2026-06-07T22:53:32.1980581Z         "int"
2026-06-07T22:53:32.1980662Z       ],
2026-06-07T22:53:32.1980756Z       "stages": {
2026-06-07T22:53:32.1980837Z         "doc": {
2026-06-07T22:53:32.1980938Z           "complete": false,
2026-06-07T22:53:32.1981028Z           "evidence": []
2026-06-07T22:53:32.1981123Z         },
2026-06-07T22:53:32.1981215Z         "impl": {
2026-06-07T22:53:32.1981305Z           "complete": true,
2026-06-07T22:53:32.1981400Z           "evidence": [
2026-06-07T22:53:32.1981482Z             {
2026-06-07T22:53:32.1981606Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T22:53:32.1981695Z               "line": 14
2026-06-07T22:53:32.1981782Z             },
2026-06-07T22:53:32.1981873Z             {
2026-06-07T22:53:32.1981991Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-07T22:53:32.1982077Z               "line": 11
2026-06-07T22:53:32.1982165Z             },
2026-06-07T22:53:32.1982250Z             {
2026-06-07T22:53:32.1982362Z               "path": "crates/spt/src/api/mod.rs",
2026-06-07T22:53:32.1982452Z               "line": 247
2026-06-07T22:53:32.1982540Z             },
2026-06-07T22:53:32.1982625Z             {
2026-06-07T22:53:32.1982729Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1982926Z               "line": 1223
2026-06-07T22:53:32.1983020Z             },
2026-06-07T22:53:32.1983101Z             {
2026-06-07T22:53:32.1983207Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1983302Z               "line": 2598
2026-06-07T22:53:32.1983469Z             },
2026-06-07T22:53:32.1983559Z             {
2026-06-07T22:53:32.1983659Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1983755Z               "line": 2619
2026-06-07T22:53:32.1983841Z             }
2026-06-07T22:53:32.1983926Z           ]
2026-06-07T22:53:32.1984012Z         },
2026-06-07T22:53:32.1984099Z         "int": {
2026-06-07T22:53:32.1984193Z           "complete": true,
2026-06-07T22:53:32.1984284Z           "evidence": [
2026-06-07T22:53:32.1984370Z             {
2026-06-07T22:53:32.1984485Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T22:53:32.1984574Z               "line": 46
2026-06-07T22:53:32.1984661Z             },
2026-06-07T22:53:32.1984743Z             {
2026-06-07T22:53:32.1984874Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T22:53:32.1984965Z               "line": 435
2026-06-07T22:53:32.1985046Z             }
2026-06-07T22:53:32.1985131Z           ]
2026-06-07T22:53:32.1985215Z         },
2026-06-07T22:53:32.1985314Z         "unit": {
2026-06-07T22:53:32.1985407Z           "complete": true,
2026-06-07T22:53:32.1985497Z           "evidence": [
2026-06-07T22:53:32.1985582Z             {
2026-06-07T22:53:32.1985707Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T22:53:32.1985797Z               "line": 562
2026-06-07T22:53:32.1985882Z             },
2026-06-07T22:53:32.1985968Z             {
2026-06-07T22:53:32.1986069Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.1986160Z               "line": 6591
2026-06-07T22:53:32.1986245Z             }
2026-06-07T22:53:32.1986332Z           ]
2026-06-07T22:53:32.1986412Z         }
2026-06-07T22:53:32.1986502Z       }
2026-06-07T22:53:32.1986583Z     },
2026-06-07T22:53:32.1986676Z     {
2026-06-07T22:53:32.1986769Z       "id": "REQ-DAEMON-4",
2026-06-07T22:53:32.1986889Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-07T22:53:32.1987051Z       "requiredStages": [
2026-06-07T22:53:32.1987137Z         "impl",
2026-06-07T22:53:32.1987232Z         "unit",
2026-06-07T22:53:32.1987334Z         "int"
2026-06-07T22:53:32.1987417Z       ],
2026-06-07T22:53:32.1987507Z       "stages": {
2026-06-07T22:53:32.1987598Z         "doc": {
2026-06-07T22:53:32.1987693Z           "complete": false,
2026-06-07T22:53:32.1987782Z           "evidence": []
2026-06-07T22:53:32.1987867Z         },
2026-06-07T22:53:32.1987964Z         "impl": {
2026-06-07T22:53:32.1988054Z           "complete": true,
2026-06-07T22:53:32.1988149Z           "evidence": [
2026-06-07T22:53:32.1988235Z             {
2026-06-07T22:53:32.1988359Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.1988454Z               "line": 371
2026-06-07T22:53:32.1988540Z             },
2026-06-07T22:53:32.1988636Z             {
2026-06-07T22:53:32.1988754Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.1988855Z               "line": 436
2026-06-07T22:53:32.1988936Z             },
2026-06-07T22:53:32.1989027Z             {
2026-06-07T22:53:32.1989145Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.1989237Z               "line": 458
2026-06-07T22:53:32.1989327Z             }
2026-06-07T22:53:32.1989413Z           ]
2026-06-07T22:53:32.1989499Z         },
2026-06-07T22:53:32.1989580Z         "int": {
2026-06-07T22:53:32.1989679Z           "complete": true,
2026-06-07T22:53:32.1989765Z           "evidence": [
2026-06-07T22:53:32.1989857Z             {
2026-06-07T22:53:32.1989989Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-07T22:53:32.1990083Z               "line": 34
2026-06-07T22:53:32.1990170Z             }
2026-06-07T22:53:32.1990255Z           ]
2026-06-07T22:53:32.1990344Z         },
2026-06-07T22:53:32.1990530Z         "unit": {
2026-06-07T22:53:32.1990626Z           "complete": true,
2026-06-07T22:53:32.1990725Z           "evidence": [
2026-06-07T22:53:32.1990806Z             {
2026-06-07T22:53:32.1990931Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T22:53:32.1991111Z               "line": 428
2026-06-07T22:53:32.1991198Z             },
2026-06-07T22:53:32.1991284Z             {
2026-06-07T22:53:32.1991402Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.1991494Z               "line": 784
2026-06-07T22:53:32.1991579Z             },
2026-06-07T22:53:32.1991665Z             {
2026-06-07T22:53:32.1991780Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.1991875Z               "line": 854
2026-06-07T22:53:32.1991956Z             },
2026-06-07T22:53:32.1992047Z             {
2026-06-07T22:53:32.1992166Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.1992255Z               "line": 884
2026-06-07T22:53:32.1992351Z             },
2026-06-07T22:53:32.1992438Z             {
2026-06-07T22:53:32.1992556Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.1992647Z               "line": 917
2026-06-07T22:53:32.1992734Z             }
2026-06-07T22:53:32.1992834Z           ]
2026-06-07T22:53:32.1992917Z         }
2026-06-07T22:53:32.1993008Z       }
2026-06-07T22:53:32.1993090Z     },
2026-06-07T22:53:32.1993181Z     {
2026-06-07T22:53:32.1993270Z       "id": "REQ-DAEMON-5",
2026-06-07T22:53:32.1994664Z       "title": "Pump liveness: the peer pump writes a last-tick heartbeat consumed by daemon status / subnet status (decision 23 render legs in REQ-CLI-2/REQ-SUBNET-8); the daemon supervises the pump task — a panic is caught, logged loudly, and the pump restarts with capped backoff (≤5 min), so a 5.9-class death self-heals visibly instead of silently halving the daemon (M8 decision 23; field motivation: hfenduleam 2026-06-07 half-death)",
2026-06-07T22:53:32.1994768Z       "requiredStages": [
2026-06-07T22:53:32.1994867Z         "impl",
2026-06-07T22:53:32.1994960Z         "unit"
2026-06-07T22:53:32.1995046Z       ],
2026-06-07T22:53:32.1995134Z       "stages": {
2026-06-07T22:53:32.1995226Z         "doc": {
2026-06-07T22:53:32.1995327Z           "complete": false,
2026-06-07T22:53:32.1995421Z           "evidence": []
2026-06-07T22:53:32.1995506Z         },
2026-06-07T22:53:32.1995597Z         "impl": {
2026-06-07T22:53:32.1995692Z           "complete": true,
2026-06-07T22:53:32.1995785Z           "evidence": [
2026-06-07T22:53:32.1995875Z             {
2026-06-07T22:53:32.1996000Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.1996099Z               "line": 282
2026-06-07T22:53:32.1996185Z             },
2026-06-07T22:53:32.1996272Z             {
2026-06-07T22:53:32.1996396Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.1996490Z               "line": 639
2026-06-07T22:53:32.1996582Z             },
2026-06-07T22:53:32.1996671Z             {
2026-06-07T22:53:32.1996795Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.1996887Z               "line": 652
2026-06-07T22:53:32.1997063Z             },
2026-06-07T22:53:32.1997149Z             {
2026-06-07T22:53:32.1997274Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.1997368Z               "line": 670
2026-06-07T22:53:32.1997449Z             },
2026-06-07T22:53:32.1997536Z             {
2026-06-07T22:53:32.1997649Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.1997744Z               "line": 711
2026-06-07T22:53:32.1997836Z             }
2026-06-07T22:53:32.1997917Z           ]
2026-06-07T22:53:32.1998006Z         },
2026-06-07T22:53:32.1998091Z         "int": {
2026-06-07T22:53:32.1998192Z           "complete": false,
2026-06-07T22:53:32.1998286Z           "evidence": []
2026-06-07T22:53:32.1998375Z         },
2026-06-07T22:53:32.1998461Z         "unit": {
2026-06-07T22:53:32.1998661Z           "complete": true,
2026-06-07T22:53:32.1998761Z           "evidence": [
2026-06-07T22:53:32.1998848Z             {
2026-06-07T22:53:32.1998980Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.1999071Z               "line": 759
2026-06-07T22:53:32.1999268Z             },
2026-06-07T22:53:32.1999357Z             {
2026-06-07T22:53:32.1999478Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.1999572Z               "line": 783
2026-06-07T22:53:32.1999658Z             },
2026-06-07T22:53:32.1999745Z             {
2026-06-07T22:53:32.1999863Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.1999953Z               "line": 809
2026-06-07T22:53:32.2000039Z             }
2026-06-07T22:53:32.2000127Z           ]
2026-06-07T22:53:32.2000211Z         }
2026-06-07T22:53:32.2000297Z       }
2026-06-07T22:53:32.2000388Z     },
2026-06-07T22:53:32.2000474Z     {
2026-06-07T22:53:32.2000578Z       "id": "REQ-DOCS-1",
2026-06-07T22:53:32.2000787Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-07T22:53:32.2000880Z       "requiredStages": [
2026-06-07T22:53:32.2000975Z         "doc",
2026-06-07T22:53:32.2001061Z         "impl"
2026-06-07T22:53:32.2001158Z       ],
2026-06-07T22:53:32.2001247Z       "stages": {
2026-06-07T22:53:32.2001338Z         "doc": {
2026-06-07T22:53:32.2001434Z           "complete": true,
2026-06-07T22:53:32.2001524Z           "evidence": [
2026-06-07T22:53:32.2001614Z             {
2026-06-07T22:53:32.2001720Z               "path": "docs-site/src/index.md",
2026-06-07T22:53:32.2001815Z               "line": 50
2026-06-07T22:53:32.2001900Z             }
2026-06-07T22:53:32.2001991Z           ]
2026-06-07T22:53:32.2002082Z         },
2026-06-07T22:53:32.2002168Z         "impl": {
2026-06-07T22:53:32.2002262Z           "complete": true,
2026-06-07T22:53:32.2002355Z           "evidence": [
2026-06-07T22:53:32.2002444Z             {
2026-06-07T22:53:32.2002572Z               "path": ".github/workflows/docs-publish.yml",
2026-06-07T22:53:32.2002670Z               "line": 12
2026-06-07T22:53:32.2002759Z             },
2026-06-07T22:53:32.2002845Z             {
2026-06-07T22:53:32.2002960Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.2003055Z               "line": 14
2026-06-07T22:53:32.2003144Z             }
2026-06-07T22:53:32.2003226Z           ]
2026-06-07T22:53:32.2003313Z         },
2026-06-07T22:53:32.2003402Z         "int": {
2026-06-07T22:53:32.2003496Z           "complete": false,
2026-06-07T22:53:32.2003587Z           "evidence": []
2026-06-07T22:53:32.2003674Z         },
2026-06-07T22:53:32.2003764Z         "unit": {
2026-06-07T22:53:32.2003858Z           "complete": false,
2026-06-07T22:53:32.2003955Z           "evidence": []
2026-06-07T22:53:32.2004046Z         }
2026-06-07T22:53:32.2004131Z       }
2026-06-07T22:53:32.2004221Z     },
2026-06-07T22:53:32.2004303Z     {
2026-06-07T22:53:32.2004403Z       "id": "REQ-DOCS-2",
2026-06-07T22:53:32.2004576Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-07T22:53:32.2004670Z       "requiredStages": [
2026-06-07T22:53:32.2004760Z         "doc",
2026-06-07T22:53:32.2004847Z         "int"
2026-06-07T22:53:32.2004933Z       ],
2026-06-07T22:53:32.2005027Z       "stages": {
2026-06-07T22:53:32.2005118Z         "doc": {
2026-06-07T22:53:32.2005210Z           "complete": true,
2026-06-07T22:53:32.2005305Z           "evidence": [
2026-06-07T22:53:32.2005395Z             {
2026-06-07T22:53:32.2005525Z               "path": "docs-site/src/quickstart/adapter.md",
2026-06-07T22:53:32.2005620Z               "line": 3
2026-06-07T22:53:32.2005708Z             },
2026-06-07T22:53:32.2005801Z             {
2026-06-07T22:53:32.2005930Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-07T22:53:32.2006023Z               "line": 3
2026-06-07T22:53:32.2006109Z             }
2026-06-07T22:53:32.2006194Z           ]
2026-06-07T22:53:32.2006280Z         },
2026-06-07T22:53:32.2006444Z         "impl": {
2026-06-07T22:53:32.2006546Z           "complete": false,
2026-06-07T22:53:32.2006637Z           "evidence": []
2026-06-07T22:53:32.2006726Z         },
2026-06-07T22:53:32.2006813Z         "int": {
2026-06-07T22:53:32.2006903Z           "complete": true,
2026-06-07T22:53:32.2007166Z           "evidence": [
2026-06-07T22:53:32.2007255Z             {
2026-06-07T22:53:32.2007389Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-07T22:53:32.2007481Z               "line": 14
2026-06-07T22:53:32.2007570Z             }
2026-06-07T22:53:32.2007656Z           ]
2026-06-07T22:53:32.2007747Z         },
2026-06-07T22:53:32.2007834Z         "unit": {
2026-06-07T22:53:32.2007928Z           "complete": false,
2026-06-07T22:53:32.2008019Z           "evidence": []
2026-06-07T22:53:32.2008105Z         }
2026-06-07T22:53:32.2008191Z       }
2026-06-07T22:53:32.2008281Z     },
2026-06-07T22:53:32.2008367Z     {
2026-06-07T22:53:32.2008464Z       "id": "REQ-DOCS-3",
2026-06-07T22:53:32.2008680Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-07T22:53:32.2008781Z       "requiredStages": [
2026-06-07T22:53:32.2008865Z         "doc"
2026-06-07T22:53:32.2008954Z       ],
2026-06-07T22:53:32.2009045Z       "stages": {
2026-06-07T22:53:32.2009136Z         "doc": {
2026-06-07T22:53:32.2009235Z           "complete": true,
2026-06-07T22:53:32.2009326Z           "evidence": [
2026-06-07T22:53:32.2009413Z             {
2026-06-07T22:53:32.2009527Z               "path": "docs-site/src/index.md",
2026-06-07T22:53:32.2009617Z               "line": 42
2026-06-07T22:53:32.2009704Z             }
2026-06-07T22:53:32.2009789Z           ]
2026-06-07T22:53:32.2009879Z         },
2026-06-07T22:53:32.2009965Z         "impl": {
2026-06-07T22:53:32.2010062Z           "complete": false,
2026-06-07T22:53:32.2010152Z           "evidence": []
2026-06-07T22:53:32.2010242Z         },
2026-06-07T22:53:32.2010333Z         "int": {
2026-06-07T22:53:32.2010428Z           "complete": false,
2026-06-07T22:53:32.2010528Z           "evidence": []
2026-06-07T22:53:32.2010619Z         },
2026-06-07T22:53:32.2010710Z         "unit": {
2026-06-07T22:53:32.2010804Z           "complete": false,
2026-06-07T22:53:32.2010900Z           "evidence": []
2026-06-07T22:53:32.2010997Z         }
2026-06-07T22:53:32.2011081Z       }
2026-06-07T22:53:32.2011171Z     },
2026-06-07T22:53:32.2011256Z     {
2026-06-07T22:53:32.2011352Z       "id": "REQ-DOCS-4",
2026-06-07T22:53:32.2011549Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-07T22:53:32.2011651Z       "requiredStages": [
2026-06-07T22:53:32.2011736Z         "doc",
2026-06-07T22:53:32.2011826Z         "impl",
2026-06-07T22:53:32.2011912Z         "unit"
2026-06-07T22:53:32.2011998Z       ],
2026-06-07T22:53:32.2012089Z       "stages": {
2026-06-07T22:53:32.2012179Z         "doc": {
2026-06-07T22:53:32.2012276Z           "complete": true,
2026-06-07T22:53:32.2012370Z           "evidence": [
2026-06-07T22:53:32.2012460Z             {
2026-06-07T22:53:32.2012576Z               "path": "docs/DOCS-STRATEGY.md",
2026-06-07T22:53:32.2012666Z               "line": 35
2026-06-07T22:53:32.2012756Z             }
2026-06-07T22:53:32.2012842Z           ]
2026-06-07T22:53:32.2012938Z         },
2026-06-07T22:53:32.2013028Z         "impl": {
2026-06-07T22:53:32.2013123Z           "complete": true,
2026-06-07T22:53:32.2013225Z           "evidence": [
2026-06-07T22:53:32.2013310Z             {
2026-06-07T22:53:32.2013438Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.2013530Z               "line": 522
2026-06-07T22:53:32.2013620Z             },
2026-06-07T22:53:32.2013709Z             {
2026-06-07T22:53:32.2013816Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.2013911Z               "line": 15
2026-06-07T22:53:32.2014000Z             }
2026-06-07T22:53:32.2014090Z           ]
2026-06-07T22:53:32.2014176Z         },
2026-06-07T22:53:32.2014268Z         "int": {
2026-06-07T22:53:32.2014467Z           "complete": false,
2026-06-07T22:53:32.2014554Z           "evidence": []
2026-06-07T22:53:32.2014644Z         },
2026-06-07T22:53:32.2014728Z         "unit": {
2026-06-07T22:53:32.2014821Z           "complete": true,
2026-06-07T22:53:32.2014991Z           "evidence": [
2026-06-07T22:53:32.2015087Z             {
2026-06-07T22:53:32.2015207Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.2015306Z               "line": 978
2026-06-07T22:53:32.2015397Z             }
2026-06-07T22:53:32.2015479Z           ]
2026-06-07T22:53:32.2015569Z         }
2026-06-07T22:53:32.2015650Z       }
2026-06-07T22:53:32.2015740Z     },
2026-06-07T22:53:32.2015822Z     {
2026-06-07T22:53:32.2015921Z       "id": "REQ-DOCS-5",
2026-06-07T22:53:32.2016113Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-07T22:53:32.2016208Z       "requiredStages": [
2026-06-07T22:53:32.2016303Z         "impl",
2026-06-07T22:53:32.2016390Z         "int"
2026-06-07T22:53:32.2016495Z       ],
2026-06-07T22:53:32.2016579Z       "stages": {
2026-06-07T22:53:32.2016669Z         "doc": {
2026-06-07T22:53:32.2016764Z           "complete": false,
2026-06-07T22:53:32.2016858Z           "evidence": []
2026-06-07T22:53:32.2017053Z         },
2026-06-07T22:53:32.2017144Z         "impl": {
2026-06-07T22:53:32.2017239Z           "complete": true,
2026-06-07T22:53:32.2017329Z           "evidence": [
2026-06-07T22:53:32.2017421Z             {
2026-06-07T22:53:32.2017544Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.2017635Z               "line": 523
2026-06-07T22:53:32.2017721Z             },
2026-06-07T22:53:32.2017806Z             {
2026-06-07T22:53:32.2017920Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.2018017Z               "line": 113
2026-06-07T22:53:32.2018098Z             }
2026-06-07T22:53:32.2018188Z           ]
2026-06-07T22:53:32.2018269Z         },
2026-06-07T22:53:32.2018360Z         "int": {
2026-06-07T22:53:32.2018459Z           "complete": true,
2026-06-07T22:53:32.2018554Z           "evidence": [
2026-06-07T22:53:32.2018637Z             {
2026-06-07T22:53:32.2018741Z               "path": ".github/workflows/ci.yml",
2026-06-07T22:53:32.2018837Z               "line": 86
2026-06-07T22:53:32.2018927Z             },
2026-06-07T22:53:32.2019014Z             {
2026-06-07T22:53:32.2019131Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.2019226Z               "line": 1015
2026-06-07T22:53:32.2019317Z             }
2026-06-07T22:53:32.2019402Z           ]
2026-06-07T22:53:32.2019490Z         },
2026-06-07T22:53:32.2019576Z         "unit": {
2026-06-07T22:53:32.2019673Z           "complete": false,
2026-06-07T22:53:32.2019763Z           "evidence": []
2026-06-07T22:53:32.2019853Z         }
2026-06-07T22:53:32.2019939Z       }
2026-06-07T22:53:32.2020025Z     },
2026-06-07T22:53:32.2020111Z     {
2026-06-07T22:53:32.2020201Z       "id": "REQ-DOCS-6",
2026-06-07T22:53:32.2020535Z       "title": "spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)",
2026-06-07T22:53:32.2020632Z       "requiredStages": [
2026-06-07T22:53:32.2020727Z         "impl",
2026-06-07T22:53:32.2020821Z         "unit",
2026-06-07T22:53:32.2020908Z         "int"
2026-06-07T22:53:32.2020997Z       ],
2026-06-07T22:53:32.2021083Z       "stages": {
2026-06-07T22:53:32.2021184Z         "doc": {
2026-06-07T22:53:32.2021275Z           "complete": true,
2026-06-07T22:53:32.2023531Z           "evidence": [
2026-06-07T22:53:32.2023645Z             {
2026-06-07T22:53:32.2023795Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-07T22:53:32.2023888Z               "line": 4
2026-06-07T22:53:32.2023974Z             }
2026-06-07T22:53:32.2024061Z           ]
2026-06-07T22:53:32.2024142Z         },
2026-06-07T22:53:32.2024231Z         "impl": {
2026-06-07T22:53:32.2024328Z           "complete": true,
2026-06-07T22:53:32.2024419Z           "evidence": [
2026-06-07T22:53:32.2024640Z             {
2026-06-07T22:53:32.2024756Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2024846Z               "line": 3270
2026-06-07T22:53:32.2024932Z             }
2026-06-07T22:53:32.2025018Z           ]
2026-06-07T22:53:32.2025194Z         },
2026-06-07T22:53:32.2025280Z         "int": {
2026-06-07T22:53:32.2025376Z           "complete": true,
2026-06-07T22:53:32.2025462Z           "evidence": [
2026-06-07T22:53:32.2025551Z             {
2026-06-07T22:53:32.2025676Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-07T22:53:32.2025767Z               "line": 34
2026-06-07T22:53:32.2025852Z             }
2026-06-07T22:53:32.2025937Z           ]
2026-06-07T22:53:32.2026025Z         },
2026-06-07T22:53:32.2026110Z         "unit": {
2026-06-07T22:53:32.2026205Z           "complete": true,
2026-06-07T22:53:32.2026291Z           "evidence": [
2026-06-07T22:53:32.2026377Z             {
2026-06-07T22:53:32.2026486Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2026581Z               "line": 6618
2026-06-07T22:53:32.2026669Z             }
2026-06-07T22:53:32.2026749Z           ]
2026-06-07T22:53:32.2026834Z         }
2026-06-07T22:53:32.2026916Z       }
2026-06-07T22:53:32.2027105Z     },
2026-06-07T22:53:32.2027190Z     {
2026-06-07T22:53:32.2027291Z       "id": "REQ-EP-1",
2026-06-07T22:53:32.2027428Z       "title": "Day-one endpoint types; open type system",
2026-06-07T22:53:32.2027527Z       "requiredStages": [
2026-06-07T22:53:32.2027613Z         "impl",
2026-06-07T22:53:32.2027695Z         "unit"
2026-06-07T22:53:32.2027785Z       ],
2026-06-07T22:53:32.2027865Z       "stages": {
2026-06-07T22:53:32.2027952Z         "doc": {
2026-06-07T22:53:32.2028052Z           "complete": false,
2026-06-07T22:53:32.2028142Z           "evidence": []
2026-06-07T22:53:32.2028223Z         },
2026-06-07T22:53:32.2028310Z         "impl": {
2026-06-07T22:53:32.2028400Z           "complete": true,
2026-06-07T22:53:32.2028490Z           "evidence": [
2026-06-07T22:53:32.2028582Z             {
2026-06-07T22:53:32.2028715Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T22:53:32.2028805Z               "line": 77
2026-06-07T22:53:32.2028892Z             },
2026-06-07T22:53:32.2028982Z             {
2026-06-07T22:53:32.2029110Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T22:53:32.2029197Z               "line": 94
2026-06-07T22:53:32.2029278Z             }
2026-06-07T22:53:32.2029362Z           ]
2026-06-07T22:53:32.2029444Z         },
2026-06-07T22:53:32.2029531Z         "int": {
2026-06-07T22:53:32.2029626Z           "complete": false,
2026-06-07T22:53:32.2029715Z           "evidence": []
2026-06-07T22:53:32.2029796Z         },
2026-06-07T22:53:32.2029886Z         "unit": {
2026-06-07T22:53:32.2029975Z           "complete": true,
2026-06-07T22:53:32.2030065Z           "evidence": [
2026-06-07T22:53:32.2030146Z             {
2026-06-07T22:53:32.2030266Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T22:53:32.2030365Z               "line": 161
2026-06-07T22:53:32.2030446Z             },
2026-06-07T22:53:32.2030534Z             {
2026-06-07T22:53:32.2030657Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T22:53:32.2030747Z               "line": 178
2026-06-07T22:53:32.2030829Z             }
2026-06-07T22:53:32.2030914Z           ]
2026-06-07T22:53:32.2031000Z         }
2026-06-07T22:53:32.2031081Z       }
2026-06-07T22:53:32.2031172Z     },
2026-06-07T22:53:32.2031257Z     {
2026-06-07T22:53:32.2031347Z       "id": "REQ-EP-2",
2026-06-07T22:53:32.2031516Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-07T22:53:32.2031610Z       "requiredStages": [
2026-06-07T22:53:32.2031701Z         "impl",
2026-06-07T22:53:32.2031783Z         "unit"
2026-06-07T22:53:32.2031873Z       ],
2026-06-07T22:53:32.2031963Z       "stages": {
2026-06-07T22:53:32.2032044Z         "doc": {
2026-06-07T22:53:32.2032136Z           "complete": false,
2026-06-07T22:53:32.2032348Z           "evidence": []
2026-06-07T22:53:32.2032434Z         },
2026-06-07T22:53:32.2032528Z         "impl": {
2026-06-07T22:53:32.2032622Z           "complete": true,
2026-06-07T22:53:32.2032713Z           "evidence": [
2026-06-07T22:53:32.2032880Z             {
2026-06-07T22:53:32.2033003Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T22:53:32.2033091Z               "line": 114
2026-06-07T22:53:32.2033172Z             },
2026-06-07T22:53:32.2033256Z             {
2026-06-07T22:53:32.2033376Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T22:53:32.2033471Z               "line": 131
2026-06-07T22:53:32.2033552Z             },
2026-06-07T22:53:32.2033638Z             {
2026-06-07T22:53:32.2033758Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T22:53:32.2033844Z               "line": 138
2026-06-07T22:53:32.2033929Z             }
2026-06-07T22:53:32.2034011Z           ]
2026-06-07T22:53:32.2034096Z         },
2026-06-07T22:53:32.2034186Z         "int": {
2026-06-07T22:53:32.2034282Z           "complete": false,
2026-06-07T22:53:32.2034369Z           "evidence": []
2026-06-07T22:53:32.2034453Z         },
2026-06-07T22:53:32.2034539Z         "unit": {
2026-06-07T22:53:32.2034636Z           "complete": true,
2026-06-07T22:53:32.2034731Z           "evidence": [
2026-06-07T22:53:32.2034810Z             {
2026-06-07T22:53:32.2034926Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T22:53:32.2035018Z               "line": 190
2026-06-07T22:53:32.2035106Z             },
2026-06-07T22:53:32.2035192Z             {
2026-06-07T22:53:32.2035301Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T22:53:32.2035397Z               "line": 208
2026-06-07T22:53:32.2035482Z             },
2026-06-07T22:53:32.2035563Z             {
2026-06-07T22:53:32.2035679Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-07T22:53:32.2035768Z               "line": 221
2026-06-07T22:53:32.2035849Z             }
2026-06-07T22:53:32.2035936Z           ]
2026-06-07T22:53:32.2036026Z         }
2026-06-07T22:53:32.2036107Z       }
2026-06-07T22:53:32.2036192Z     },
2026-06-07T22:53:32.2036275Z     {
2026-06-07T22:53:32.2036365Z       "id": "REQ-EP-3",
2026-06-07T22:53:32.2036556Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-07T22:53:32.2036646Z       "requiredStages": [
2026-06-07T22:53:32.2036736Z         "impl",
2026-06-07T22:53:32.2036817Z         "unit"
2026-06-07T22:53:32.2036900Z       ],
2026-06-07T22:53:32.2037389Z       "stages": {
2026-06-07T22:53:32.2037481Z         "doc": {
2026-06-07T22:53:32.2037577Z           "complete": false,
2026-06-07T22:53:32.2037665Z           "evidence": []
2026-06-07T22:53:32.2037751Z         },
2026-06-07T22:53:32.2037832Z         "impl": {
2026-06-07T22:53:32.2037927Z           "complete": true,
2026-06-07T22:53:32.2038016Z           "evidence": [
2026-06-07T22:53:32.2038101Z             {
2026-06-07T22:53:32.2038226Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-07T22:53:32.2038317Z               "line": 31
2026-06-07T22:53:32.2038406Z             },
2026-06-07T22:53:32.2038488Z             {
2026-06-07T22:53:32.2038607Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-07T22:53:32.2038697Z               "line": 49
2026-06-07T22:53:32.2038783Z             }
2026-06-07T22:53:32.2038865Z           ]
2026-06-07T22:53:32.2038950Z         },
2026-06-07T22:53:32.2039060Z         "int": {
2026-06-07T22:53:32.2039161Z           "complete": false,
2026-06-07T22:53:32.2039256Z           "evidence": []
2026-06-07T22:53:32.2039341Z         },
2026-06-07T22:53:32.2039427Z         "unit": {
2026-06-07T22:53:32.2039523Z           "complete": true,
2026-06-07T22:53:32.2039603Z           "evidence": [
2026-06-07T22:53:32.2039694Z             {
2026-06-07T22:53:32.2039800Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-07T22:53:32.2039880Z               "line": 156
2026-06-07T22:53:32.2039962Z             },
2026-06-07T22:53:32.2040209Z             {
2026-06-07T22:53:32.2040317Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-07T22:53:32.2040404Z               "line": 164
2026-06-07T22:53:32.2040489Z             },
2026-06-07T22:53:32.2040573Z             {
2026-06-07T22:53:32.2040769Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-07T22:53:32.2040855Z               "line": 177
2026-06-07T22:53:32.2040940Z             },
2026-06-07T22:53:32.2041021Z             {
2026-06-07T22:53:32.2041141Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-07T22:53:32.2041245Z               "line": 200
2026-06-07T22:53:32.2041326Z             },
2026-06-07T22:53:32.2041413Z             {
2026-06-07T22:53:32.2041522Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-07T22:53:32.2041612Z               "line": 216
2026-06-07T22:53:32.2041699Z             },
2026-06-07T22:53:32.2041780Z             {
2026-06-07T22:53:32.2041894Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-07T22:53:32.2041990Z               "line": 233
2026-06-07T22:53:32.2042071Z             }
2026-06-07T22:53:32.2042155Z           ]
2026-06-07T22:53:32.2042237Z         }
2026-06-07T22:53:32.2042319Z       }
2026-06-07T22:53:32.2042400Z     },
2026-06-07T22:53:32.2042494Z     {
2026-06-07T22:53:32.2042585Z       "id": "REQ-EP-4",
2026-06-07T22:53:32.2042734Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-07T22:53:32.2042822Z       "requiredStages": [
2026-06-07T22:53:32.2042913Z         "impl",
2026-06-07T22:53:32.2043004Z         "unit"
2026-06-07T22:53:32.2043088Z       ],
2026-06-07T22:53:32.2043177Z       "stages": {
2026-06-07T22:53:32.2043268Z         "doc": {
2026-06-07T22:53:32.2043364Z           "complete": false,
2026-06-07T22:53:32.2043455Z           "evidence": []
2026-06-07T22:53:32.2043540Z         },
2026-06-07T22:53:32.2043621Z         "impl": {
2026-06-07T22:53:32.2043717Z           "complete": true,
2026-06-07T22:53:32.2043807Z           "evidence": [
2026-06-07T22:53:32.2043893Z             {
2026-06-07T22:53:32.2044013Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T22:53:32.2044098Z               "line": 461
2026-06-07T22:53:32.2044184Z             },
2026-06-07T22:53:32.2044280Z             {
2026-06-07T22:53:32.2044394Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T22:53:32.2044484Z               "line": 706
2026-06-07T22:53:32.2044566Z             },
2026-06-07T22:53:32.2044652Z             {
2026-06-07T22:53:32.2044765Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T22:53:32.2044857Z               "line": 805
2026-06-07T22:53:32.2044943Z             },
2026-06-07T22:53:32.2045022Z             {
2026-06-07T22:53:32.2045138Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T22:53:32.2045224Z               "line": 83
2026-06-07T22:53:32.2045314Z             },
2026-06-07T22:53:32.2045394Z             {
2026-06-07T22:53:32.2045506Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T22:53:32.2045601Z               "line": 460
2026-06-07T22:53:32.2045680Z             },
2026-06-07T22:53:32.2045766Z             {
2026-06-07T22:53:32.2045871Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T22:53:32.2045967Z               "line": 546
2026-06-07T22:53:32.2046047Z             },
2026-06-07T22:53:32.2046133Z             {
2026-06-07T22:53:32.2046257Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T22:53:32.2046343Z               "line": 181
2026-06-07T22:53:32.2046438Z             },
2026-06-07T22:53:32.2046521Z             {
2026-06-07T22:53:32.2046634Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T22:53:32.2046724Z               "line": 317
2026-06-07T22:53:32.2046806Z             },
2026-06-07T22:53:32.2046891Z             {
2026-06-07T22:53:32.2047077Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T22:53:32.2047169Z               "line": 727
2026-06-07T22:53:32.2047249Z             }
2026-06-07T22:53:32.2047445Z           ]
2026-06-07T22:53:32.2047526Z         },
2026-06-07T22:53:32.2047616Z         "int": {
2026-06-07T22:53:32.2047711Z           "complete": false,
2026-06-07T22:53:32.2047799Z           "evidence": []
2026-06-07T22:53:32.2047978Z         },
2026-06-07T22:53:32.2048066Z         "unit": {
2026-06-07T22:53:32.2048160Z           "complete": true,
2026-06-07T22:53:32.2048249Z           "evidence": [
2026-06-07T22:53:32.2048334Z             {
2026-06-07T22:53:32.2048450Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-07T22:53:32.2048534Z               "line": 637
2026-06-07T22:53:32.2048619Z             },
2026-06-07T22:53:32.2048700Z             {
2026-06-07T22:53:32.2048824Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-07T22:53:32.2048919Z               "line": 75
2026-06-07T22:53:32.2049005Z             },
2026-06-07T22:53:32.2049125Z             {
2026-06-07T22:53:32.2049248Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-07T22:53:32.2049344Z               "line": 146
2026-06-07T22:53:32.2049425Z             }
2026-06-07T22:53:32.2049515Z           ]
2026-06-07T22:53:32.2049601Z         }
2026-06-07T22:53:32.2049683Z       }
2026-06-07T22:53:32.2049773Z     },
2026-06-07T22:53:32.2049858Z     {
2026-06-07T22:53:32.2049954Z       "id": "REQ-EP-5",
2026-06-07T22:53:32.2050593Z       "title": "Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope",
2026-06-07T22:53:32.2050689Z       "requiredStages": [
2026-06-07T22:53:32.2050774Z         "impl",
2026-06-07T22:53:32.2050859Z         "unit",
2026-06-07T22:53:32.2050944Z         "int"
2026-06-07T22:53:32.2051030Z       ],
2026-06-07T22:53:32.2051114Z       "stages": {
2026-06-07T22:53:32.2051199Z         "doc": {
2026-06-07T22:53:32.2051291Z           "complete": false,
2026-06-07T22:53:32.2051387Z           "evidence": []
2026-06-07T22:53:32.2051467Z         },
2026-06-07T22:53:32.2051552Z         "impl": {
2026-06-07T22:53:32.2051644Z           "complete": true,
2026-06-07T22:53:32.2051739Z           "evidence": [
2026-06-07T22:53:32.2051857Z             {
2026-06-07T22:53:32.2052006Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2052096Z               "line": 280
2026-06-07T22:53:32.2052177Z             },
2026-06-07T22:53:32.2052260Z             {
2026-06-07T22:53:32.2052382Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-07T22:53:32.2052473Z               "line": 18
2026-06-07T22:53:32.2052555Z             },
2026-06-07T22:53:32.2052641Z             {
2026-06-07T22:53:32.2052759Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-07T22:53:32.2052845Z               "line": 63
2026-06-07T22:53:32.2052927Z             },
2026-06-07T22:53:32.2053012Z             {
2026-06-07T22:53:32.2053126Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-07T22:53:32.2053218Z               "line": 92
2026-06-07T22:53:32.2053308Z             },
2026-06-07T22:53:32.2053392Z             {
2026-06-07T22:53:32.2053506Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-07T22:53:32.2053606Z               "line": 167
2026-06-07T22:53:32.2053686Z             },
2026-06-07T22:53:32.2053771Z             {
2026-06-07T22:53:32.2053886Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-07T22:53:32.2053977Z               "line": 179
2026-06-07T22:53:32.2054062Z             },
2026-06-07T22:53:32.2054143Z             {
2026-06-07T22:53:32.2054258Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2054348Z               "line": 114
2026-06-07T22:53:32.2054429Z             },
2026-06-07T22:53:32.2054511Z             {
2026-06-07T22:53:32.2054630Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T22:53:32.2054715Z               "line": 22
2026-06-07T22:53:32.2054878Z             },
2026-06-07T22:53:32.2054959Z             {
2026-06-07T22:53:32.2055078Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T22:53:32.2055165Z               "line": 129
2026-06-07T22:53:32.2055254Z             },
2026-06-07T22:53:32.2055398Z             {
2026-06-07T22:53:32.2055522Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T22:53:32.2055606Z               "line": 156
2026-06-07T22:53:32.2055688Z             },
2026-06-07T22:53:32.2055770Z             {
2026-06-07T22:53:32.2055888Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T22:53:32.2055984Z               "line": 178
2026-06-07T22:53:32.2056071Z             },
2026-06-07T22:53:32.2056152Z             {
2026-06-07T22:53:32.2056264Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T22:53:32.2056354Z               "line": 203
2026-06-07T22:53:32.2056436Z             },
2026-06-07T22:53:32.2056527Z             {
2026-06-07T22:53:32.2056659Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T22:53:32.2056746Z               "line": 229
2026-06-07T22:53:32.2056832Z             },
2026-06-07T22:53:32.2056922Z             {
2026-06-07T22:53:32.2057132Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T22:53:32.2057227Z               "line": 252
2026-06-07T22:53:32.2057318Z             },
2026-06-07T22:53:32.2057405Z             {
2026-06-07T22:53:32.2057524Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2057613Z               "line": 81
2026-06-07T22:53:32.2057700Z             },
2026-06-07T22:53:32.2057790Z             {
2026-06-07T22:53:32.2057895Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2057986Z               "line": 3575
2026-06-07T22:53:32.2058082Z             },
2026-06-07T22:53:32.2058166Z             {
2026-06-07T22:53:32.2058267Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2058359Z               "line": 3698
2026-06-07T22:53:32.2058457Z             },
2026-06-07T22:53:32.2058538Z             {
2026-06-07T22:53:32.2058645Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2058739Z               "line": 3859
2026-06-07T22:53:32.2058829Z             },
2026-06-07T22:53:32.2058923Z             {
2026-06-07T22:53:32.2059024Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2059117Z               "line": 4241
2026-06-07T22:53:32.2059207Z             }
2026-06-07T22:53:32.2059288Z           ]
2026-06-07T22:53:32.2059375Z         },
2026-06-07T22:53:32.2059460Z         "int": {
2026-06-07T22:53:32.2059555Z           "complete": true,
2026-06-07T22:53:32.2059652Z           "evidence": [
2026-06-07T22:53:32.2059742Z             {
2026-06-07T22:53:32.2059870Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-07T22:53:32.2059962Z               "line": 16
2026-06-07T22:53:32.2060047Z             },
2026-06-07T22:53:32.2060137Z             {
2026-06-07T22:53:32.2060253Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-07T22:53:32.2060352Z               "line": 15
2026-06-07T22:53:32.2060438Z             }
2026-06-07T22:53:32.2060514Z           ]
2026-06-07T22:53:32.2060601Z         },
2026-06-07T22:53:32.2060719Z         "unit": {
2026-06-07T22:53:32.2060843Z           "complete": true,
2026-06-07T22:53:32.2060935Z           "evidence": [
2026-06-07T22:53:32.2061019Z             {
2026-06-07T22:53:32.2061173Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-07T22:53:32.2061268Z               "line": 246
2026-06-07T22:53:32.2061352Z             },
2026-06-07T22:53:32.2061442Z             {
2026-06-07T22:53:32.2061572Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-07T22:53:32.2061684Z               "line": 306
2026-06-07T22:53:32.2061764Z             },
2026-06-07T22:53:32.2061846Z             {
2026-06-07T22:53:32.2061961Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-07T22:53:32.2062051Z               "line": 362
2026-06-07T22:53:32.2062351Z             },
2026-06-07T22:53:32.2062437Z             {
2026-06-07T22:53:32.2062557Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T22:53:32.2062647Z               "line": 268
2026-06-07T22:53:32.2062732Z             },
2026-06-07T22:53:32.2062909Z             {
2026-06-07T22:53:32.2063028Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T22:53:32.2063120Z               "line": 291
2026-06-07T22:53:32.2063201Z             },
2026-06-07T22:53:32.2063290Z             {
2026-06-07T22:53:32.2063415Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2063506Z               "line": 491
2026-06-07T22:53:32.2063596Z             },
2026-06-07T22:53:32.2063682Z             {
2026-06-07T22:53:32.2063788Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2063877Z               "line": 5023
2026-06-07T22:53:32.2063966Z             },
2026-06-07T22:53:32.2064052Z             {
2026-06-07T22:53:32.2064166Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2064265Z               "line": 5147
2026-06-07T22:53:32.2064350Z             },
2026-06-07T22:53:32.2064437Z             {
2026-06-07T22:53:32.2064537Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2064636Z               "line": 5734
2026-06-07T22:53:32.2064727Z             },
2026-06-07T22:53:32.2064814Z             {
2026-06-07T22:53:32.2064913Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2065004Z               "line": 5799
2026-06-07T22:53:32.2065086Z             }
2026-06-07T22:53:32.2065171Z           ]
2026-06-07T22:53:32.2065256Z         }
2026-06-07T22:53:32.2065337Z       }
2026-06-07T22:53:32.2065424Z     },
2026-06-07T22:53:32.2065509Z     {
2026-06-07T22:53:32.2065599Z       "id": "REQ-FRONT-1",
2026-06-07T22:53:32.2065777Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-07T22:53:32.2065877Z       "requiredStages": [],
2026-06-07T22:53:32.2065963Z       "stages": {
2026-06-07T22:53:32.2066059Z         "doc": {
2026-06-07T22:53:32.2066157Z           "complete": false,
2026-06-07T22:53:32.2066238Z           "evidence": []
2026-06-07T22:53:32.2066321Z         },
2026-06-07T22:53:32.2066406Z         "impl": {
2026-06-07T22:53:32.2066509Z           "complete": false,
2026-06-07T22:53:32.2066607Z           "evidence": []
2026-06-07T22:53:32.2066688Z         },
2026-06-07T22:53:32.2066777Z         "int": {
2026-06-07T22:53:32.2066872Z           "complete": false,
2026-06-07T22:53:32.2067030Z           "evidence": []
2026-06-07T22:53:32.2067120Z         },
2026-06-07T22:53:32.2067205Z         "unit": {
2026-06-07T22:53:32.2067301Z           "complete": false,
2026-06-07T22:53:32.2067407Z           "evidence": []
2026-06-07T22:53:32.2067496Z         }
2026-06-07T22:53:32.2067582Z       }
2026-06-07T22:53:32.2067664Z     },
2026-06-07T22:53:32.2067750Z     {
2026-06-07T22:53:32.2067863Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-07T22:53:32.2068035Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-07T22:53:32.2068144Z       "requiredStages": [
2026-06-07T22:53:32.2068241Z         "impl",
2026-06-07T22:53:32.2068332Z         "unit"
2026-06-07T22:53:32.2068412Z       ],
2026-06-07T22:53:32.2068512Z       "stages": {
2026-06-07T22:53:32.2068599Z         "doc": {
2026-06-07T22:53:32.2068693Z           "complete": false,
2026-06-07T22:53:32.2068784Z           "evidence": []
2026-06-07T22:53:32.2068866Z         },
2026-06-07T22:53:32.2068957Z         "impl": {
2026-06-07T22:53:32.2069050Z           "complete": true,
2026-06-07T22:53:32.2069142Z           "evidence": [
2026-06-07T22:53:32.2069229Z             {
2026-06-07T22:53:32.2069351Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2069441Z               "line": 149
2026-06-07T22:53:32.2069527Z             },
2026-06-07T22:53:32.2069617Z             {
2026-06-07T22:53:32.2069729Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T22:53:32.2069944Z               "line": 18
2026-06-07T22:53:32.2070029Z             },
2026-06-07T22:53:32.2070115Z             {
2026-06-07T22:53:32.2070222Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T22:53:32.2070312Z               "line": 98
2026-06-07T22:53:32.2070488Z             }
2026-06-07T22:53:32.2070578Z           ]
2026-06-07T22:53:32.2070664Z         },
2026-06-07T22:53:32.2070736Z         "int": {
2026-06-07T22:53:32.2070837Z           "complete": false,
2026-06-07T22:53:32.2070926Z           "evidence": []
2026-06-07T22:53:32.2071007Z         },
2026-06-07T22:53:32.2071089Z         "unit": {
2026-06-07T22:53:32.2071190Z           "complete": true,
2026-06-07T22:53:32.2071299Z           "evidence": [
2026-06-07T22:53:32.2071418Z             {
2026-06-07T22:53:32.2071603Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2071738Z               "line": 565
2026-06-07T22:53:32.2071875Z             },
2026-06-07T22:53:32.2071998Z             {
2026-06-07T22:53:32.2072169Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T22:53:32.2072268Z               "line": 159
2026-06-07T22:53:32.2072367Z             },
2026-06-07T22:53:32.2072454Z             {
2026-06-07T22:53:32.2072577Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T22:53:32.2072682Z               "line": 231
2026-06-07T22:53:32.2072764Z             }
2026-06-07T22:53:32.2072855Z           ]
2026-06-07T22:53:32.2072944Z         }
2026-06-07T22:53:32.2073031Z       }
2026-06-07T22:53:32.2073117Z     },
2026-06-07T22:53:32.2073202Z     {
2026-06-07T22:53:32.2073321Z       "id": "REQ-HAZARD-CHILD-CONSOLE-FLASH",
2026-06-07T22:53:32.2073742Z       "title": "Console-subsystem children of the console-less daemon spawn with CREATE_NO_WINDOW, or each spawn flashes a visible blank window on the user's desktop (5.8)",
2026-06-07T22:53:32.2073841Z       "requiredStages": [
2026-06-07T22:53:32.2073932Z         "impl",
2026-06-07T22:53:32.2074019Z         "unit"
2026-06-07T22:53:32.2074108Z       ],
2026-06-07T22:53:32.2074199Z       "stages": {
2026-06-07T22:53:32.2074285Z         "doc": {
2026-06-07T22:53:32.2074386Z           "complete": true,
2026-06-07T22:53:32.2074489Z           "evidence": [
2026-06-07T22:53:32.2074579Z             {
2026-06-07T22:53:32.2074698Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T22:53:32.2074796Z               "line": 217
2026-06-07T22:53:32.2074886Z             }
2026-06-07T22:53:32.2074958Z           ]
2026-06-07T22:53:32.2075045Z         },
2026-06-07T22:53:32.2075130Z         "impl": {
2026-06-07T22:53:32.2075230Z           "complete": true,
2026-06-07T22:53:32.2075317Z           "evidence": [
2026-06-07T22:53:32.2075402Z             {
2026-06-07T22:53:32.2075530Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2075627Z               "line": 302
2026-06-07T22:53:32.2075712Z             },
2026-06-07T22:53:32.2075793Z             {
2026-06-07T22:53:32.2075922Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T22:53:32.2076017Z               "line": 257
2026-06-07T22:53:32.2076108Z             },
2026-06-07T22:53:32.2076198Z             {
2026-06-07T22:53:32.2076313Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T22:53:32.2076412Z               "line": 405
2026-06-07T22:53:32.2076498Z             },
2026-06-07T22:53:32.2076590Z             {
2026-06-07T22:53:32.2076703Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-07T22:53:32.2076799Z               "line": 77
2026-06-07T22:53:32.2076881Z             }
2026-06-07T22:53:32.2077056Z           ]
2026-06-07T22:53:32.2077147Z         },
2026-06-07T22:53:32.2077234Z         "int": {
2026-06-07T22:53:32.2077333Z           "complete": false,
2026-06-07T22:53:32.2077422Z           "evidence": []
2026-06-07T22:53:32.2077513Z         },
2026-06-07T22:53:32.2077605Z         "unit": {
2026-06-07T22:53:32.2077695Z           "complete": true,
2026-06-07T22:53:32.2077789Z           "evidence": [
2026-06-07T22:53:32.2077995Z             {
2026-06-07T22:53:32.2078119Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T22:53:32.2078210Z               "line": 478
2026-06-07T22:53:32.2078296Z             },
2026-06-07T22:53:32.2078376Z             {
2026-06-07T22:53:32.2078586Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T22:53:32.2078686Z               "line": 516
2026-06-07T22:53:32.2078767Z             },
2026-06-07T22:53:32.2078854Z             {
2026-06-07T22:53:32.2078967Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-07T22:53:32.2079063Z               "line": 166
2026-06-07T22:53:32.2079150Z             }
2026-06-07T22:53:32.2079230Z           ]
2026-06-07T22:53:32.2079321Z         }
2026-06-07T22:53:32.2079421Z       }
2026-06-07T22:53:32.2079527Z     },
2026-06-07T22:53:32.2079610Z     {
2026-06-07T22:53:32.2079741Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-07T22:53:32.2080280Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-07T22:53:32.2080380Z       "requiredStages": [
2026-06-07T22:53:32.2080472Z         "impl",
2026-06-07T22:53:32.2080562Z         "unit"
2026-06-07T22:53:32.2080651Z       ],
2026-06-07T22:53:32.2080753Z       "stages": {
2026-06-07T22:53:32.2080848Z         "doc": {
2026-06-07T22:53:32.2080942Z           "complete": false,
2026-06-07T22:53:32.2081029Z           "evidence": []
2026-06-07T22:53:32.2081115Z         },
2026-06-07T22:53:32.2081191Z         "impl": {
2026-06-07T22:53:32.2081301Z           "complete": true,
2026-06-07T22:53:32.2081392Z           "evidence": [
2026-06-07T22:53:32.2081472Z             {
2026-06-07T22:53:32.2081606Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-07T22:53:32.2081692Z               "line": 22
2026-06-07T22:53:32.2081783Z             },
2026-06-07T22:53:32.2081868Z             {
2026-06-07T22:53:32.2081993Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T22:53:32.2082084Z               "line": 476
2026-06-07T22:53:32.2082168Z             },
2026-06-07T22:53:32.2082278Z             {
2026-06-07T22:53:32.2082412Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-07T22:53:32.2082535Z               "line": 17
2026-06-07T22:53:32.2082625Z             },
2026-06-07T22:53:32.2082711Z             {
2026-06-07T22:53:32.2082837Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-07T22:53:32.2082922Z               "line": 140
2026-06-07T22:53:32.2083010Z             },
2026-06-07T22:53:32.2083096Z             {
2026-06-07T22:53:32.2083223Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.2083315Z               "line": 194
2026-06-07T22:53:32.2083400Z             },
2026-06-07T22:53:32.2083485Z             {
2026-06-07T22:53:32.2083610Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.2083710Z               "line": 219
2026-06-07T22:53:32.2083795Z             },
2026-06-07T22:53:32.2083881Z             {
2026-06-07T22:53:32.2084001Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.2084096Z               "line": 245
2026-06-07T22:53:32.2084196Z             },
2026-06-07T22:53:32.2084279Z             {
2026-06-07T22:53:32.2084401Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T22:53:32.2084492Z               "line": 124
2026-06-07T22:53:32.2084579Z             },
2026-06-07T22:53:32.2084664Z             {
2026-06-07T22:53:32.2084783Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T22:53:32.2084874Z               "line": 224
2026-06-07T22:53:32.2084955Z             }
2026-06-07T22:53:32.2085049Z           ]
2026-06-07T22:53:32.2085134Z         },
2026-06-07T22:53:32.2085221Z         "int": {
2026-06-07T22:53:32.2085310Z           "complete": false,
2026-06-07T22:53:32.2085404Z           "evidence": []
2026-06-07T22:53:32.2085567Z         },
2026-06-07T22:53:32.2085653Z         "unit": {
2026-06-07T22:53:32.2085752Z           "complete": true,
2026-06-07T22:53:32.2085847Z           "evidence": [
2026-06-07T22:53:32.2085934Z             {
2026-06-07T22:53:32.2086052Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-07T22:53:32.2086229Z               "line": 62
2026-06-07T22:53:32.2086320Z             },
2026-06-07T22:53:32.2086405Z             {
2026-06-07T22:53:32.2086525Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-07T22:53:32.2086611Z               "line": 72
2026-06-07T22:53:32.2086706Z             },
2026-06-07T22:53:32.2086787Z             {
2026-06-07T22:53:32.2086916Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-07T22:53:32.2087245Z               "line": 84
2026-06-07T22:53:32.2087330Z             },
2026-06-07T22:53:32.2087417Z             {
2026-06-07T22:53:32.2087531Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-07T22:53:32.2087630Z               "line": 337
2026-06-07T22:53:32.2087717Z             },
2026-06-07T22:53:32.2087808Z             {
2026-06-07T22:53:32.2087926Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-07T22:53:32.2088020Z               "line": 274
2026-06-07T22:53:32.2088116Z             },
2026-06-07T22:53:32.2088198Z             {
2026-06-07T22:53:32.2088325Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-07T22:53:32.2088422Z               "line": 315
2026-06-07T22:53:32.2088503Z             },
2026-06-07T22:53:32.2091069Z             {
2026-06-07T22:53:32.2091241Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-07T22:53:32.2091337Z               "line": 353
2026-06-07T22:53:32.2091428Z             },
2026-06-07T22:53:32.2091512Z             {
2026-06-07T22:53:32.2091647Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.2091741Z               "line": 656
2026-06-07T22:53:32.2091827Z             },
2026-06-07T22:53:32.2091928Z             {
2026-06-07T22:53:32.2092051Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T22:53:32.2092151Z               "line": 397
2026-06-07T22:53:32.2092243Z             },
2026-06-07T22:53:32.2092329Z             {
2026-06-07T22:53:32.2092461Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T22:53:32.2092553Z               "line": 440
2026-06-07T22:53:32.2092644Z             }
2026-06-07T22:53:32.2092728Z           ]
2026-06-07T22:53:32.2092814Z         }
2026-06-07T22:53:32.2092896Z       }
2026-06-07T22:53:32.2092982Z     },
2026-06-07T22:53:32.2093071Z     {
2026-06-07T22:53:32.2093185Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-07T22:53:32.2093402Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-07T22:53:32.2093502Z       "requiredStages": [
2026-06-07T22:53:32.2093589Z         "impl",
2026-06-07T22:53:32.2093679Z         "unit"
2026-06-07T22:53:32.2093769Z       ],
2026-06-07T22:53:32.2093860Z       "stages": {
2026-06-07T22:53:32.2093956Z         "doc": {
2026-06-07T22:53:32.2094055Z           "complete": false,
2026-06-07T22:53:32.2094141Z           "evidence": []
2026-06-07T22:53:32.2094228Z         },
2026-06-07T22:53:32.2094314Z         "impl": {
2026-06-07T22:53:32.2094418Z           "complete": true,
2026-06-07T22:53:32.2094509Z           "evidence": [
2026-06-07T22:53:32.2094594Z             {
2026-06-07T22:53:32.2094713Z               "path": "crates/spt-term/src/reader.rs",
2026-06-07T22:53:32.2094800Z               "line": 169
2026-06-07T22:53:32.2094886Z             }
2026-06-07T22:53:32.2094971Z           ]
2026-06-07T22:53:32.2095062Z         },
2026-06-07T22:53:32.2095149Z         "int": {
2026-06-07T22:53:32.2095242Z           "complete": true,
2026-06-07T22:53:32.2095333Z           "evidence": [
2026-06-07T22:53:32.2095420Z             {
2026-06-07T22:53:32.2095534Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-07T22:53:32.2095623Z               "line": 44
2026-06-07T22:53:32.2095842Z             },
2026-06-07T22:53:32.2095931Z             {
2026-06-07T22:53:32.2096035Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-07T22:53:32.2096127Z               "line": 66
2026-06-07T22:53:32.2096208Z             }
2026-06-07T22:53:32.2096389Z           ]
2026-06-07T22:53:32.2096475Z         },
2026-06-07T22:53:32.2096560Z         "unit": {
2026-06-07T22:53:32.2096655Z           "complete": true,
2026-06-07T22:53:32.2096747Z           "evidence": [
2026-06-07T22:53:32.2096832Z             {
2026-06-07T22:53:32.2097042Z               "path": "crates/spt-term/src/reader.rs",
2026-06-07T22:53:32.2097137Z               "line": 186
2026-06-07T22:53:32.2097232Z             },
2026-06-07T22:53:32.2097323Z             {
2026-06-07T22:53:32.2097443Z               "path": "crates/spt-term/src/reader.rs",
2026-06-07T22:53:32.2097533Z               "line": 238
2026-06-07T22:53:32.2097623Z             },
2026-06-07T22:53:32.2097706Z             {
2026-06-07T22:53:32.2097819Z               "path": "crates/spt-term/src/reader.rs",
2026-06-07T22:53:32.2097919Z               "line": 266
2026-06-07T22:53:32.2098006Z             }
2026-06-07T22:53:32.2098091Z           ]
2026-06-07T22:53:32.2098176Z         }
2026-06-07T22:53:32.2098262Z       }
2026-06-07T22:53:32.2098350Z     },
2026-06-07T22:53:32.2098439Z     {
2026-06-07T22:53:32.2098556Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-07T22:53:32.2098967Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-07T22:53:32.2099068Z       "requiredStages": [
2026-06-07T22:53:32.2099158Z         "impl",
2026-06-07T22:53:32.2099244Z         "unit",
2026-06-07T22:53:32.2099330Z         "int"
2026-06-07T22:53:32.2099426Z       ],
2026-06-07T22:53:32.2099515Z       "stages": {
2026-06-07T22:53:32.2099597Z         "doc": {
2026-06-07T22:53:32.2099697Z           "complete": false,
2026-06-07T22:53:32.2099787Z           "evidence": []
2026-06-07T22:53:32.2099883Z         },
2026-06-07T22:53:32.2099969Z         "impl": {
2026-06-07T22:53:32.2100064Z           "complete": true,
2026-06-07T22:53:32.2100154Z           "evidence": [
2026-06-07T22:53:32.2100236Z             {
2026-06-07T22:53:32.2100369Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.2100455Z               "line": 150
2026-06-07T22:53:32.2100541Z             },
2026-06-07T22:53:32.2100623Z             {
2026-06-07T22:53:32.2100745Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.2100832Z               "line": 174
2026-06-07T22:53:32.2100919Z             },
2026-06-07T22:53:32.2101008Z             {
2026-06-07T22:53:32.2101116Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T22:53:32.2101207Z               "line": 79
2026-06-07T22:53:32.2101293Z             },
2026-06-07T22:53:32.2101377Z             {
2026-06-07T22:53:32.2101491Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T22:53:32.2101592Z               "line": 51
2026-06-07T22:53:32.2101678Z             },
2026-06-07T22:53:32.2101762Z             {
2026-06-07T22:53:32.2101878Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.2101968Z               "line": 154
2026-06-07T22:53:32.2102063Z             },
2026-06-07T22:53:32.2102144Z             {
2026-06-07T22:53:32.2102264Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-07T22:53:32.2102359Z               "line": 27
2026-06-07T22:53:32.2102440Z             },
2026-06-07T22:53:32.2102526Z             {
2026-06-07T22:53:32.2102641Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-07T22:53:32.2102730Z               "line": 79
2026-06-07T22:53:32.2102813Z             },
2026-06-07T22:53:32.2102898Z             {
2026-06-07T22:53:32.2103012Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-07T22:53:32.2103098Z               "line": 102
2026-06-07T22:53:32.2103190Z             },
2026-06-07T22:53:32.2103374Z             {
2026-06-07T22:53:32.2103490Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T22:53:32.2103579Z               "line": 116
2026-06-07T22:53:32.2103664Z             }
2026-06-07T22:53:32.2103750Z           ]
2026-06-07T22:53:32.2103925Z         },
2026-06-07T22:53:32.2104015Z         "int": {
2026-06-07T22:53:32.2104105Z           "complete": true,
2026-06-07T22:53:32.2104201Z           "evidence": [
2026-06-07T22:53:32.2104286Z             {
2026-06-07T22:53:32.2104411Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-07T22:53:32.2104501Z               "line": 35
2026-06-07T22:53:32.2104582Z             }
2026-06-07T22:53:32.2104673Z           ]
2026-06-07T22:53:32.2104755Z         },
2026-06-07T22:53:32.2104844Z         "unit": {
2026-06-07T22:53:32.2104939Z           "complete": true,
2026-06-07T22:53:32.2105026Z           "evidence": [
2026-06-07T22:53:32.2105122Z             {
2026-06-07T22:53:32.2105240Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.2105341Z               "line": 584
2026-06-07T22:53:32.2105427Z             },
2026-06-07T22:53:32.2105516Z             {
2026-06-07T22:53:32.2105627Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.2105718Z               "line": 351
2026-06-07T22:53:32.2105812Z             },
2026-06-07T22:53:32.2105893Z             {
2026-06-07T22:53:32.2106009Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-07T22:53:32.2106099Z               "line": 124
2026-06-07T22:53:32.2106183Z             },
2026-06-07T22:53:32.2106268Z             {
2026-06-07T22:53:32.2106384Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-07T22:53:32.2106477Z               "line": 143
2026-06-07T22:53:32.2106562Z             },
2026-06-07T22:53:32.2106644Z             {
2026-06-07T22:53:32.2106764Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-07T22:53:32.2106853Z               "line": 160
2026-06-07T22:53:32.2107044Z             },
2026-06-07T22:53:32.2107121Z             {
2026-06-07T22:53:32.2107239Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-07T22:53:32.2107341Z               "line": 187
2026-06-07T22:53:32.2107426Z             },
2026-06-07T22:53:32.2107530Z             {
2026-06-07T22:53:32.2107641Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-07T22:53:32.2107731Z               "line": 206
2026-06-07T22:53:32.2107811Z             },
2026-06-07T22:53:32.2107898Z             {
2026-06-07T22:53:32.2108012Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T22:53:32.2108107Z               "line": 229
2026-06-07T22:53:32.2108193Z             }
2026-06-07T22:53:32.2108280Z           ]
2026-06-07T22:53:32.2108369Z         }
2026-06-07T22:53:32.2108450Z       }
2026-06-07T22:53:32.2108537Z     },
2026-06-07T22:53:32.2108619Z     {
2026-06-07T22:53:32.2108741Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-07T22:53:32.2109360Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-07T22:53:32.2109469Z       "requiredStages": [
2026-06-07T22:53:32.2109562Z         "impl",
2026-06-07T22:53:32.2109633Z         "unit"
2026-06-07T22:53:32.2109718Z       ],
2026-06-07T22:53:32.2109828Z       "stages": {
2026-06-07T22:53:32.2109928Z         "doc": {
2026-06-07T22:53:32.2110018Z           "complete": false,
2026-06-07T22:53:32.2110103Z           "evidence": []
2026-06-07T22:53:32.2110205Z         },
2026-06-07T22:53:32.2110295Z         "impl": {
2026-06-07T22:53:32.2110390Z           "complete": true,
2026-06-07T22:53:32.2110481Z           "evidence": [
2026-06-07T22:53:32.2110563Z             {
2026-06-07T22:53:32.2110705Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T22:53:32.2110806Z               "line": 222
2026-06-07T22:53:32.2111005Z             },
2026-06-07T22:53:32.2111087Z             {
2026-06-07T22:53:32.2111230Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T22:53:32.2111329Z               "line": 389
2026-06-07T22:53:32.2111417Z             }
2026-06-07T22:53:32.2111596Z           ]
2026-06-07T22:53:32.2111681Z         },
2026-06-07T22:53:32.2111767Z         "int": {
2026-06-07T22:53:32.2111862Z           "complete": false,
2026-06-07T22:53:32.2111956Z           "evidence": []
2026-06-07T22:53:32.2112036Z         },
2026-06-07T22:53:32.2112118Z         "unit": {
2026-06-07T22:53:32.2112214Z           "complete": true,
2026-06-07T22:53:32.2112304Z           "evidence": [
2026-06-07T22:53:32.2112390Z             {
2026-06-07T22:53:32.2112514Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-07T22:53:32.2112604Z               "line": 161
2026-06-07T22:53:32.2112695Z             }
2026-06-07T22:53:32.2112777Z           ]
2026-06-07T22:53:32.2112862Z         }
2026-06-07T22:53:32.2112952Z       }
2026-06-07T22:53:32.2113039Z     },
2026-06-07T22:53:32.2113120Z     {
2026-06-07T22:53:32.2113234Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-07T22:53:32.2113421Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-07T22:53:32.2113519Z       "requiredStages": [
2026-06-07T22:53:32.2113610Z         "impl",
2026-06-07T22:53:32.2113693Z         "unit"
2026-06-07T22:53:32.2113778Z       ],
2026-06-07T22:53:32.2113863Z       "stages": {
2026-06-07T22:53:32.2113949Z         "doc": {
2026-06-07T22:53:32.2114045Z           "complete": false,
2026-06-07T22:53:32.2114139Z           "evidence": []
2026-06-07T22:53:32.2114220Z         },
2026-06-07T22:53:32.2114305Z         "impl": {
2026-06-07T22:53:32.2114400Z           "complete": true,
2026-06-07T22:53:32.2114485Z           "evidence": [
2026-06-07T22:53:32.2114570Z             {
2026-06-07T22:53:32.2114690Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2114776Z               "line": 40
2026-06-07T22:53:32.2114865Z             },
2026-06-07T22:53:32.2114947Z             {
2026-06-07T22:53:32.2115062Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2115147Z               "line": 100
2026-06-07T22:53:32.2115238Z             },
2026-06-07T22:53:32.2115334Z             {
2026-06-07T22:53:32.2115443Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2115538Z               "line": 215
2026-06-07T22:53:32.2115615Z             },
2026-06-07T22:53:32.2115705Z             {
2026-06-07T22:53:32.2115814Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2115901Z               "line": 314
2026-06-07T22:53:32.2115987Z             }
2026-06-07T22:53:32.2116067Z           ]
2026-06-07T22:53:32.2116158Z         },
2026-06-07T22:53:32.2116240Z         "int": {
2026-06-07T22:53:32.2116335Z           "complete": false,
2026-06-07T22:53:32.2116420Z           "evidence": []
2026-06-07T22:53:32.2116511Z         },
2026-06-07T22:53:32.2116608Z         "unit": {
2026-06-07T22:53:32.2116697Z           "complete": true,
2026-06-07T22:53:32.2116787Z           "evidence": [
2026-06-07T22:53:32.2116872Z             {
2026-06-07T22:53:32.2117070Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2117160Z               "line": 352
2026-06-07T22:53:32.2117257Z             },
2026-06-07T22:53:32.2117348Z             {
2026-06-07T22:53:32.2117451Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2117542Z               "line": 409
2026-06-07T22:53:32.2117628Z             },
2026-06-07T22:53:32.2117713Z             {
2026-06-07T22:53:32.2117819Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2117910Z               "line": 458
2026-06-07T22:53:32.2117991Z             },
2026-06-07T22:53:32.2118076Z             {
2026-06-07T22:53:32.2118187Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2118276Z               "line": 479
2026-06-07T22:53:32.2118463Z             }
2026-06-07T22:53:32.2118545Z           ]
2026-06-07T22:53:32.2118629Z         }
2026-06-07T22:53:32.2118715Z       }
2026-06-07T22:53:32.2118797Z     },
2026-06-07T22:53:32.2118883Z     {
2026-06-07T22:53:32.2119001Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-07T22:53:32.2119235Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-07T22:53:32.2119330Z       "requiredStages": [
2026-06-07T22:53:32.2119417Z         "impl",
2026-06-07T22:53:32.2119504Z         "unit"
2026-06-07T22:53:32.2119582Z       ],
2026-06-07T22:53:32.2119677Z       "stages": {
2026-06-07T22:53:32.2119758Z         "doc": {
2026-06-07T22:53:32.2119850Z           "complete": false,
2026-06-07T22:53:32.2119940Z           "evidence": []
2026-06-07T22:53:32.2120025Z         },
2026-06-07T22:53:32.2120112Z         "impl": {
2026-06-07T22:53:32.2120203Z           "complete": true,
2026-06-07T22:53:32.2120292Z           "evidence": [
2026-06-07T22:53:32.2120378Z             {
2026-06-07T22:53:32.2120503Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2120588Z               "line": 113
2026-06-07T22:53:32.2120673Z             },
2026-06-07T22:53:32.2120756Z             {
2026-06-07T22:53:32.2120865Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2120960Z               "line": 208
2026-06-07T22:53:32.2121041Z             }
2026-06-07T22:53:32.2121127Z           ]
2026-06-07T22:53:32.2121213Z         },
2026-06-07T22:53:32.2121298Z         "int": {
2026-06-07T22:53:32.2121395Z           "complete": false,
2026-06-07T22:53:32.2121480Z           "evidence": []
2026-06-07T22:53:32.2121565Z         },
2026-06-07T22:53:32.2121652Z         "unit": {
2026-06-07T22:53:32.2121748Z           "complete": true,
2026-06-07T22:53:32.2121832Z           "evidence": [
2026-06-07T22:53:32.2121924Z             {
2026-06-07T22:53:32.2122035Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2122119Z               "line": 373
2026-06-07T22:53:32.2122213Z             },
2026-06-07T22:53:32.2122299Z             {
2026-06-07T22:53:32.2122408Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2122497Z               "line": 436
2026-06-07T22:53:32.2122586Z             }
2026-06-07T22:53:32.2122679Z           ]
2026-06-07T22:53:32.2122764Z         }
2026-06-07T22:53:32.2122850Z       }
2026-06-07T22:53:32.2122931Z     },
2026-06-07T22:53:32.2123012Z     {
2026-06-07T22:53:32.2123131Z       "id": "REQ-HAZARD-DETACHED-PIPE-INHERIT",
2026-06-07T22:53:32.2124291Z       "title": "Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)",
2026-06-07T22:53:32.2124390Z       "requiredStages": [
2026-06-07T22:53:32.2124476Z         "impl",
2026-06-07T22:53:32.2124582Z         "unit"
2026-06-07T22:53:32.2124667Z       ],
2026-06-07T22:53:32.2124756Z       "stages": {
2026-06-07T22:53:32.2124846Z         "doc": {
2026-06-07T22:53:32.2124937Z           "complete": true,
2026-06-07T22:53:32.2125030Z           "evidence": [
2026-06-07T22:53:32.2125115Z             {
2026-06-07T22:53:32.2125226Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T22:53:32.2125317Z               "line": 203
2026-06-07T22:53:32.2125411Z             }
2026-06-07T22:53:32.2125497Z           ]
2026-06-07T22:53:32.2125579Z         },
2026-06-07T22:53:32.2125670Z         "impl": {
2026-06-07T22:53:32.2125759Z           "complete": true,
2026-06-07T22:53:32.2125851Z           "evidence": [
2026-06-07T22:53:32.2125937Z             {
2026-06-07T22:53:32.2126065Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T22:53:32.2126156Z               "line": 399
2026-06-07T22:53:32.2126237Z             },
2026-06-07T22:53:32.2126328Z             {
2026-06-07T22:53:32.2126519Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T22:53:32.2126613Z               "line": 491
2026-06-07T22:53:32.2126694Z             },
2026-06-07T22:53:32.2126780Z             {
2026-06-07T22:53:32.2126909Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2127177Z               "line": 183
2026-06-07T22:53:32.2127285Z             }
2026-06-07T22:53:32.2127370Z           ]
2026-06-07T22:53:32.2127456Z         },
2026-06-07T22:53:32.2127541Z         "int": {
2026-06-07T22:53:32.2127635Z           "complete": false,
2026-06-07T22:53:32.2127730Z           "evidence": []
2026-06-07T22:53:32.2127812Z         },
2026-06-07T22:53:32.2127903Z         "unit": {
2026-06-07T22:53:32.2127992Z           "complete": true,
2026-06-07T22:53:32.2128084Z           "evidence": [
2026-06-07T22:53:32.2128165Z             {
2026-06-07T22:53:32.2128288Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T22:53:32.2128379Z               "line": 529
2026-06-07T22:53:32.2128475Z             },
2026-06-07T22:53:32.2128561Z             {
2026-06-07T22:53:32.2128684Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-07T22:53:32.2128780Z               "line": 44
2026-06-07T22:53:32.2128865Z             },
2026-06-07T22:53:32.2128960Z             {
2026-06-07T22:53:32.2129076Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-07T22:53:32.2129166Z               "line": 54
2026-06-07T22:53:32.2129247Z             },
2026-06-07T22:53:32.2129333Z             {
2026-06-07T22:53:32.2129467Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-07T22:53:32.2129557Z               "line": 51
2026-06-07T22:53:32.2129643Z             }
2026-06-07T22:53:32.2129729Z           ]
2026-06-07T22:53:32.2129814Z         }
2026-06-07T22:53:32.2129900Z       }
2026-06-07T22:53:32.2129982Z     },
2026-06-07T22:53:32.2130068Z     {
2026-06-07T22:53:32.2130185Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-07T22:53:32.2130400Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-07T22:53:32.2130514Z       "requiredStages": [
2026-06-07T22:53:32.2130599Z         "impl",
2026-06-07T22:53:32.2130687Z         "unit"
2026-06-07T22:53:32.2130768Z       ],
2026-06-07T22:53:32.2130867Z       "stages": {
2026-06-07T22:53:32.2130948Z         "doc": {
2026-06-07T22:53:32.2131053Z           "complete": false,
2026-06-07T22:53:32.2131148Z           "evidence": []
2026-06-07T22:53:32.2131234Z         },
2026-06-07T22:53:32.2131321Z         "impl": {
2026-06-07T22:53:32.2131410Z           "complete": true,
2026-06-07T22:53:32.2131505Z           "evidence": [
2026-06-07T22:53:32.2131587Z             {
2026-06-07T22:53:32.2131711Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T22:53:32.2131806Z               "line": 26
2026-06-07T22:53:32.2131887Z             },
2026-06-07T22:53:32.2131979Z             {
2026-06-07T22:53:32.2132097Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T22:53:32.2132197Z               "line": 135
2026-06-07T22:53:32.2132284Z             },
2026-06-07T22:53:32.2132369Z             {
2026-06-07T22:53:32.2132493Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-07T22:53:32.2132585Z               "line": 26
2026-06-07T22:53:32.2132684Z             },
2026-06-07T22:53:32.2132764Z             {
2026-06-07T22:53:32.2132887Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-07T22:53:32.2132977Z               "line": 237
2026-06-07T22:53:32.2133062Z             }
2026-06-07T22:53:32.2133147Z           ]
2026-06-07T22:53:32.2133229Z         },
2026-06-07T22:53:32.2133315Z         "int": {
2026-06-07T22:53:32.2133410Z           "complete": false,
2026-06-07T22:53:32.2133501Z           "evidence": []
2026-06-07T22:53:32.2133591Z         },
2026-06-07T22:53:32.2133677Z         "unit": {
2026-06-07T22:53:32.2133772Z           "complete": true,
2026-06-07T22:53:32.2133859Z           "evidence": [
2026-06-07T22:53:32.2134048Z             {
2026-06-07T22:53:32.2134159Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T22:53:32.2134254Z               "line": 161
2026-06-07T22:53:32.2134344Z             },
2026-06-07T22:53:32.2134430Z             {
2026-06-07T22:53:32.2134625Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T22:53:32.2134712Z               "line": 170
2026-06-07T22:53:32.2134798Z             },
2026-06-07T22:53:32.2134884Z             {
2026-06-07T22:53:32.2134998Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T22:53:32.2135089Z               "line": 179
2026-06-07T22:53:32.2135171Z             },
2026-06-07T22:53:32.2135259Z             {
2026-06-07T22:53:32.2135368Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T22:53:32.2135459Z               "line": 190
2026-06-07T22:53:32.2135544Z             },
2026-06-07T22:53:32.2135634Z             {
2026-06-07T22:53:32.2135747Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T22:53:32.2135844Z               "line": 199
2026-06-07T22:53:32.2135933Z             },
2026-06-07T22:53:32.2136018Z             {
2026-06-07T22:53:32.2136135Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T22:53:32.2136225Z               "line": 216
2026-06-07T22:53:32.2136315Z             },
2026-06-07T22:53:32.2136401Z             {
2026-06-07T22:53:32.2136511Z               "path": "crates/spt-live/src/context.rs",
2026-06-07T22:53:32.2136606Z               "line": 242
2026-06-07T22:53:32.2136692Z             },
2026-06-07T22:53:32.2136773Z             {
2026-06-07T22:53:32.2136888Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T22:53:32.2137055Z               "line": 257
2026-06-07T22:53:32.2137140Z             },
2026-06-07T22:53:32.2137226Z             {
2026-06-07T22:53:32.2137350Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T22:53:32.2137441Z               "line": 244
2026-06-07T22:53:32.2137526Z             },
2026-06-07T22:53:32.2137607Z             {
2026-06-07T22:53:32.2137746Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-07T22:53:32.2137840Z               "line": 265
2026-06-07T22:53:32.2137925Z             },
2026-06-07T22:53:32.2138012Z             {
2026-06-07T22:53:32.2138134Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-07T22:53:32.2138228Z               "line": 293
2026-06-07T22:53:32.2138319Z             },
2026-06-07T22:53:32.2138406Z             {
2026-06-07T22:53:32.2138524Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-07T22:53:32.2138610Z               "line": 317
2026-06-07T22:53:32.2138702Z             },
2026-06-07T22:53:32.2138783Z             {
2026-06-07T22:53:32.2138905Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-07T22:53:32.2139002Z               "line": 327
2026-06-07T22:53:32.2139082Z             },
2026-06-07T22:53:32.2139172Z             {
2026-06-07T22:53:32.2139288Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T22:53:32.2139374Z               "line": 540
2026-06-07T22:53:32.2139459Z             }
2026-06-07T22:53:32.2139549Z           ]
2026-06-07T22:53:32.2139631Z         }
2026-06-07T22:53:32.2139717Z       }
2026-06-07T22:53:32.2139816Z     },
2026-06-07T22:53:32.2139898Z     {
2026-06-07T22:53:32.2140018Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-07T22:53:32.2140174Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-07T22:53:32.2140309Z       "requiredStages": [
2026-06-07T22:53:32.2140402Z         "impl",
2026-06-07T22:53:32.2140489Z         "unit"
2026-06-07T22:53:32.2140576Z       ],
2026-06-07T22:53:32.2140661Z       "stages": {
2026-06-07T22:53:32.2140750Z         "doc": {
2026-06-07T22:53:32.2140845Z           "complete": false,
2026-06-07T22:53:32.2140932Z           "evidence": []
2026-06-07T22:53:32.2141023Z         },
2026-06-07T22:53:32.2141112Z         "impl": {
2026-06-07T22:53:32.2141222Z           "complete": true,
2026-06-07T22:53:32.2141313Z           "evidence": [
2026-06-07T22:53:32.2141503Z             {
2026-06-07T22:53:32.2141618Z               "path": "crates/spt-live/src/echo.rs",
2026-06-07T22:53:32.2141713Z               "line": 25
2026-06-07T22:53:32.2141799Z             },
2026-06-07T22:53:32.2141975Z             {
2026-06-07T22:53:32.2142094Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T22:53:32.2142181Z               "line": 26
2026-06-07T22:53:32.2142266Z             },
2026-06-07T22:53:32.2142352Z             {
2026-06-07T22:53:32.2142467Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T22:53:32.2142558Z               "line": 159
2026-06-07T22:53:32.2142652Z             }
2026-06-07T22:53:32.2142739Z           ]
2026-06-07T22:53:32.2142820Z         },
2026-06-07T22:53:32.2142906Z         "int": {
2026-06-07T22:53:32.2143000Z           "complete": false,
2026-06-07T22:53:32.2143092Z           "evidence": []
2026-06-07T22:53:32.2143179Z         },
2026-06-07T22:53:32.2143262Z         "unit": {
2026-06-07T22:53:32.2143362Z           "complete": true,
2026-06-07T22:53:32.2143452Z           "evidence": [
2026-06-07T22:53:32.2143538Z             {
2026-06-07T22:53:32.2143645Z               "path": "crates/spt-live/src/echo.rs",
2026-06-07T22:53:32.2143736Z               "line": 184
2026-06-07T22:53:32.2143832Z             },
2026-06-07T22:53:32.2143908Z             {
2026-06-07T22:53:32.2144017Z               "path": "crates/spt-live/src/echo.rs",
2026-06-07T22:53:32.2144109Z               "line": 236
2026-06-07T22:53:32.2144185Z             },
2026-06-07T22:53:32.2144265Z             {
2026-06-07T22:53:32.2144380Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T22:53:32.2144476Z               "line": 186
2026-06-07T22:53:32.2144571Z             }
2026-06-07T22:53:32.2144656Z           ]
2026-06-07T22:53:32.2144743Z         }
2026-06-07T22:53:32.2144828Z       }
2026-06-07T22:53:32.2144909Z     },
2026-06-07T22:53:32.2144995Z     {
2026-06-07T22:53:32.2145101Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-07T22:53:32.2145272Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-07T22:53:32.2145368Z       "requiredStages": [
2026-06-07T22:53:32.2145453Z         "impl",
2026-06-07T22:53:32.2145543Z         "unit"
2026-06-07T22:53:32.2145634Z       ],
2026-06-07T22:53:32.2145722Z       "stages": {
2026-06-07T22:53:32.2145810Z         "doc": {
2026-06-07T22:53:32.2145900Z           "complete": false,
2026-06-07T22:53:32.2146000Z           "evidence": []
2026-06-07T22:53:32.2146090Z         },
2026-06-07T22:53:32.2146179Z         "impl": {
2026-06-07T22:53:32.2146269Z           "complete": true,
2026-06-07T22:53:32.2146366Z           "evidence": [
2026-06-07T22:53:32.2146451Z             {
2026-06-07T22:53:32.2146569Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T22:53:32.2146661Z               "line": 48
2026-06-07T22:53:32.2146742Z             },
2026-06-07T22:53:32.2146827Z             {
2026-06-07T22:53:32.2147033Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T22:53:32.2147133Z               "line": 55
2026-06-07T22:53:32.2147218Z             },
2026-06-07T22:53:32.2147310Z             {
2026-06-07T22:53:32.2147429Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T22:53:32.2147524Z               "line": 74
2026-06-07T22:53:32.2147615Z             },
2026-06-07T22:53:32.2147700Z             {
2026-06-07T22:53:32.2147815Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T22:53:32.2147906Z               "line": 91
2026-06-07T22:53:32.2147987Z             }
2026-06-07T22:53:32.2148072Z           ]
2026-06-07T22:53:32.2148158Z         },
2026-06-07T22:53:32.2148250Z         "int": {
2026-06-07T22:53:32.2148340Z           "complete": false,
2026-06-07T22:53:32.2148434Z           "evidence": []
2026-06-07T22:53:32.2148519Z         },
2026-06-07T22:53:32.2148605Z         "unit": {
2026-06-07T22:53:32.2148699Z           "complete": true,
2026-06-07T22:53:32.2148788Z           "evidence": [
2026-06-07T22:53:32.2148995Z             {
2026-06-07T22:53:32.2149108Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T22:53:32.2149199Z               "line": 149
2026-06-07T22:53:32.2149285Z             },
2026-06-07T22:53:32.2149375Z             {
2026-06-07T22:53:32.2149576Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T22:53:32.2149666Z               "line": 166
2026-06-07T22:53:32.2149756Z             },
2026-06-07T22:53:32.2149838Z             {
2026-06-07T22:53:32.2149952Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T22:53:32.2150057Z               "line": 176
2026-06-07T22:53:32.2150138Z             },
2026-06-07T22:53:32.2150229Z             {
2026-06-07T22:53:32.2150343Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T22:53:32.2150434Z               "line": 194
2026-06-07T22:53:32.2150520Z             },
2026-06-07T22:53:32.2150610Z             {
2026-06-07T22:53:32.2150724Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T22:53:32.2150826Z               "line": 207
2026-06-07T22:53:32.2150921Z             }
2026-06-07T22:53:32.2151005Z           ]
2026-06-07T22:53:32.2151092Z         }
2026-06-07T22:53:32.2151174Z       }
2026-06-07T22:53:32.2151263Z     },
2026-06-07T22:53:32.2151357Z     {
2026-06-07T22:53:32.2151472Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-07T22:53:32.2151658Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-07T22:53:32.2151749Z       "requiredStages": [
2026-06-07T22:53:32.2151868Z         "impl",
2026-06-07T22:53:32.2151972Z         "unit"
2026-06-07T22:53:32.2152063Z       ],
2026-06-07T22:53:32.2152155Z       "stages": {
2026-06-07T22:53:32.2152241Z         "doc": {
2026-06-07T22:53:32.2152330Z           "complete": false,
2026-06-07T22:53:32.2152422Z           "evidence": []
2026-06-07T22:53:32.2152507Z         },
2026-06-07T22:53:32.2152593Z         "impl": {
2026-06-07T22:53:32.2152688Z           "complete": true,
2026-06-07T22:53:32.2152794Z           "evidence": [
2026-06-07T22:53:32.2152878Z             {
2026-06-07T22:53:32.2153003Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.2153095Z               "line": 373
2026-06-07T22:53:32.2153184Z             },
2026-06-07T22:53:32.2153274Z             {
2026-06-07T22:53:32.2153385Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T22:53:32.2153480Z               "line": 26
2026-06-07T22:53:32.2153560Z             }
2026-06-07T22:53:32.2153647Z           ]
2026-06-07T22:53:32.2153729Z         },
2026-06-07T22:53:32.2153818Z         "int": {
2026-06-07T22:53:32.2153908Z           "complete": false,
2026-06-07T22:53:32.2154003Z           "evidence": []
2026-06-07T22:53:32.2154089Z         },
2026-06-07T22:53:32.2154172Z         "unit": {
2026-06-07T22:53:32.2154272Z           "complete": true,
2026-06-07T22:53:32.2154359Z           "evidence": [
2026-06-07T22:53:32.2154445Z             {
2026-06-07T22:53:32.2154558Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T22:53:32.2154659Z               "line": 150
2026-06-07T22:53:32.2154750Z             },
2026-06-07T22:53:32.2154830Z             {
2026-06-07T22:53:32.2154945Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T22:53:32.2155046Z               "line": 208
2026-06-07T22:53:32.2155131Z             }
2026-06-07T22:53:32.2155222Z           ]
2026-06-07T22:53:32.2155308Z         }
2026-06-07T22:53:32.2155393Z       }
2026-06-07T22:53:32.2155479Z     },
2026-06-07T22:53:32.2155560Z     {
2026-06-07T22:53:32.2155680Z       "id": "REQ-HAZARD-ELEVATED-DAEMON-SPAWN",
2026-06-07T22:53:32.2157197Z       "title": "The daemon always runs unelevated in the invoking user's universe, regardless of which command spawns it: an elevated spawner de-elevates (Windows: UAC linked token via CreateProcessWithTokenW; Linux: drop to SUDO_UID/SUDO_GID + the invoker's HOME) — an elevated daemon's pipes deny unelevated clients (every later spt reads not-running→spawn→bind Access-denied) and a sudo'd daemon roots the user's state universe (5.7)",
2026-06-07T22:53:32.2157449Z       "requiredStages": [
2026-06-07T22:53:32.2157536Z         "doc",
2026-06-07T22:53:32.2157626Z         "impl",
2026-06-07T22:53:32.2157707Z         "unit"
2026-06-07T22:53:32.2157889Z       ],
2026-06-07T22:53:32.2157979Z       "stages": {
2026-06-07T22:53:32.2160222Z         "doc": {
2026-06-07T22:53:32.2160326Z           "complete": true,
2026-06-07T22:53:32.2160418Z           "evidence": [
2026-06-07T22:53:32.2160508Z             {
2026-06-07T22:53:32.2160627Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T22:53:32.2160723Z               "line": 211
2026-06-07T22:53:32.2160804Z             }
2026-06-07T22:53:32.2160893Z           ]
2026-06-07T22:53:32.2160979Z         },
2026-06-07T22:53:32.2161067Z         "impl": {
2026-06-07T22:53:32.2161161Z           "complete": true,
2026-06-07T22:53:32.2161251Z           "evidence": [
2026-06-07T22:53:32.2161338Z             {
2026-06-07T22:53:32.2161467Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T22:53:32.2161575Z               "line": 54
2026-06-07T22:53:32.2161667Z             },
2026-06-07T22:53:32.2161748Z             {
2026-06-07T22:53:32.2161866Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T22:53:32.2161965Z               "line": 317
2026-06-07T22:53:32.2162047Z             },
2026-06-07T22:53:32.2162143Z             {
2026-06-07T22:53:32.2162260Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T22:53:32.2162357Z               "line": 36
2026-06-07T22:53:32.2162443Z             },
2026-06-07T22:53:32.2162533Z             {
2026-06-07T22:53:32.2162648Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T22:53:32.2162739Z               "line": 59
2026-06-07T22:53:32.2162824Z             },
2026-06-07T22:53:32.2162909Z             {
2026-06-07T22:53:32.2163025Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T22:53:32.2163110Z               "line": 87
2026-06-07T22:53:32.2163205Z             },
2026-06-07T22:53:32.2163287Z             {
2026-06-07T22:53:32.2163406Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T22:53:32.2163496Z               "line": 106
2026-06-07T22:53:32.2163582Z             },
2026-06-07T22:53:32.2163673Z             {
2026-06-07T22:53:32.2163787Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T22:53:32.2163883Z               "line": 331
2026-06-07T22:53:32.2163964Z             },
2026-06-07T22:53:32.2164050Z             {
2026-06-07T22:53:32.2164173Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T22:53:32.2164260Z               "line": 473
2026-06-07T22:53:32.2164351Z             },
2026-06-07T22:53:32.2164434Z             {
2026-06-07T22:53:32.2164554Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T22:53:32.2164640Z               "line": 519
2026-06-07T22:53:32.2164724Z             },
2026-06-07T22:53:32.2164813Z             {
2026-06-07T22:53:32.2164934Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T22:53:32.2165025Z               "line": 145
2026-06-07T22:53:32.2165104Z             },
2026-06-07T22:53:32.2165191Z             {
2026-06-07T22:53:32.2165296Z               "path": "crates/spt/src/main.rs",
2026-06-07T22:53:32.2165395Z               "line": 29
2026-06-07T22:53:32.2165481Z             }
2026-06-07T22:53:32.2165563Z           ]
2026-06-07T22:53:32.2165648Z         },
2026-06-07T22:53:32.2165733Z         "int": {
2026-06-07T22:53:32.2165825Z           "complete": false,
2026-06-07T22:53:32.2165916Z           "evidence": []
2026-06-07T22:53:32.2166002Z         },
2026-06-07T22:53:32.2166091Z         "unit": {
2026-06-07T22:53:32.2166183Z           "complete": true,
2026-06-07T22:53:32.2166273Z           "evidence": [
2026-06-07T22:53:32.2166359Z             {
2026-06-07T22:53:32.2166479Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T22:53:32.2166565Z               "line": 661
2026-06-07T22:53:32.2166755Z             },
2026-06-07T22:53:32.2166837Z             {
2026-06-07T22:53:32.2167053Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T22:53:32.2167144Z               "line": 707
2026-06-07T22:53:32.2167225Z             }
2026-06-07T22:53:32.2167456Z           ]
2026-06-07T22:53:32.2167538Z         }
2026-06-07T22:53:32.2167628Z       }
2026-06-07T22:53:32.2167718Z     },
2026-06-07T22:53:32.2167806Z     {
2026-06-07T22:53:32.2167929Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-07T22:53:32.2168082Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-07T22:53:32.2168186Z       "requiredStages": [
2026-06-07T22:53:32.2168272Z         "impl",
2026-06-07T22:53:32.2168357Z         "unit"
2026-06-07T22:53:32.2168445Z       ],
2026-06-07T22:53:32.2168534Z       "stages": {
2026-06-07T22:53:32.2168620Z         "doc": {
2026-06-07T22:53:32.2168712Z           "complete": false,
2026-06-07T22:53:32.2168806Z           "evidence": []
2026-06-07T22:53:32.2168897Z         },
2026-06-07T22:53:32.2168987Z         "impl": {
2026-06-07T22:53:32.2169079Z           "complete": true,
2026-06-07T22:53:32.2169168Z           "evidence": [
2026-06-07T22:53:32.2169259Z             {
2026-06-07T22:53:32.2169379Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T22:53:32.2169478Z               "line": 36
2026-06-07T22:53:32.2169564Z             },
2026-06-07T22:53:32.2169649Z             {
2026-06-07T22:53:32.2169768Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T22:53:32.2169852Z               "line": 68
2026-06-07T22:53:32.2169937Z             }
2026-06-07T22:53:32.2170023Z           ]
2026-06-07T22:53:32.2170106Z         },
2026-06-07T22:53:32.2170190Z         "int": {
2026-06-07T22:53:32.2170285Z           "complete": false,
2026-06-07T22:53:32.2170377Z           "evidence": []
2026-06-07T22:53:32.2170458Z         },
2026-06-07T22:53:32.2170547Z         "unit": {
2026-06-07T22:53:32.2170634Z           "complete": true,
2026-06-07T22:53:32.2170729Z           "evidence": [
2026-06-07T22:53:32.2170815Z             {
2026-06-07T22:53:32.2170934Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T22:53:32.2171025Z               "line": 143
2026-06-07T22:53:32.2171111Z             },
2026-06-07T22:53:32.2171201Z             {
2026-06-07T22:53:32.2171312Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T22:53:32.2171406Z               "line": 160
2026-06-07T22:53:32.2171492Z             },
2026-06-07T22:53:32.2171579Z             {
2026-06-07T22:53:32.2171698Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T22:53:32.2171782Z               "line": 168
2026-06-07T22:53:32.2171868Z             }
2026-06-07T22:53:32.2171951Z           ]
2026-06-07T22:53:32.2172036Z         }
2026-06-07T22:53:32.2172116Z       }
2026-06-07T22:53:32.2172208Z     },
2026-06-07T22:53:32.2172290Z     {
2026-06-07T22:53:32.2172412Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-07T22:53:32.2172598Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-07T22:53:32.2172688Z       "requiredStages": [
2026-06-07T22:53:32.2172774Z         "impl",
2026-06-07T22:53:32.2172859Z         "unit"
2026-06-07T22:53:32.2172951Z       ],
2026-06-07T22:53:32.2173046Z       "stages": {
2026-06-07T22:53:32.2173135Z         "doc": {
2026-06-07T22:53:32.2173228Z           "complete": false,
2026-06-07T22:53:32.2173318Z           "evidence": []
2026-06-07T22:53:32.2173398Z         },
2026-06-07T22:53:32.2173489Z         "impl": {
2026-06-07T22:53:32.2173580Z           "complete": true,
2026-06-07T22:53:32.2173670Z           "evidence": [
2026-06-07T22:53:32.2173751Z             {
2026-06-07T22:53:32.2173871Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T22:53:32.2173961Z               "line": 107
2026-06-07T22:53:32.2174047Z             }
2026-06-07T22:53:32.2174128Z           ]
2026-06-07T22:53:32.2174215Z         },
2026-06-07T22:53:32.2174299Z         "int": {
2026-06-07T22:53:32.2174497Z           "complete": false,
2026-06-07T22:53:32.2174591Z           "evidence": []
2026-06-07T22:53:32.2174675Z         },
2026-06-07T22:53:32.2174758Z         "unit": {
2026-06-07T22:53:32.2174849Z           "complete": true,
2026-06-07T22:53:32.2175009Z           "evidence": [
2026-06-07T22:53:32.2175099Z             {
2026-06-07T22:53:32.2175214Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T22:53:32.2175303Z               "line": 184
2026-06-07T22:53:32.2175387Z             },
2026-06-07T22:53:32.2175474Z             {
2026-06-07T22:53:32.2175589Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T22:53:32.2175688Z               "line": 193
2026-06-07T22:53:32.2175775Z             },
2026-06-07T22:53:32.2175856Z             {
2026-06-07T22:53:32.2175970Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T22:53:32.2176055Z               "line": 201
2026-06-07T22:53:32.2176142Z             },
2026-06-07T22:53:32.2176227Z             {
2026-06-07T22:53:32.2176351Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T22:53:32.2176443Z               "line": 211
2026-06-07T22:53:32.2176523Z             },
2026-06-07T22:53:32.2176609Z             {
2026-06-07T22:53:32.2176734Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-07T22:53:32.2176824Z               "line": 221
2026-06-07T22:53:32.2176905Z             }
2026-06-07T22:53:32.2177063Z           ]
2026-06-07T22:53:32.2177148Z         }
2026-06-07T22:53:32.2177229Z       }
2026-06-07T22:53:32.2177315Z     },
2026-06-07T22:53:32.2177397Z     {
2026-06-07T22:53:32.2177519Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-07T22:53:32.2177681Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-07T22:53:32.2177776Z       "requiredStages": [
2026-06-07T22:53:32.2177869Z         "impl",
2026-06-07T22:53:32.2177954Z         "unit"
2026-06-07T22:53:32.2178041Z       ],
2026-06-07T22:53:32.2178127Z       "stages": {
2026-06-07T22:53:32.2178221Z         "doc": {
2026-06-07T22:53:32.2178318Z           "complete": false,
2026-06-07T22:53:32.2178408Z           "evidence": []
2026-06-07T22:53:32.2178494Z         },
2026-06-07T22:53:32.2178579Z         "impl": {
2026-06-07T22:53:32.2178671Z           "complete": true,
2026-06-07T22:53:32.2178765Z           "evidence": [
2026-06-07T22:53:32.2178851Z             {
2026-06-07T22:53:32.2178966Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T22:53:32.2179052Z               "line": 14
2026-06-07T22:53:32.2179138Z             },
2026-06-07T22:53:32.2179228Z             {
2026-06-07T22:53:32.2179339Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T22:53:32.2179428Z               "line": 62
2026-06-07T22:53:32.2179509Z             }
2026-06-07T22:53:32.2179596Z           ]
2026-06-07T22:53:32.2179677Z         },
2026-06-07T22:53:32.2179761Z         "int": {
2026-06-07T22:53:32.2179853Z           "complete": false,
2026-06-07T22:53:32.2179944Z           "evidence": []
2026-06-07T22:53:32.2180034Z         },
2026-06-07T22:53:32.2180119Z         "unit": {
2026-06-07T22:53:32.2180213Z           "complete": true,
2026-06-07T22:53:32.2180300Z           "evidence": [
2026-06-07T22:53:32.2180388Z             {
2026-06-07T22:53:32.2180497Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T22:53:32.2180588Z               "line": 160
2026-06-07T22:53:32.2180675Z             },
2026-06-07T22:53:32.2180760Z             {
2026-06-07T22:53:32.2180870Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T22:53:32.2180960Z               "line": 197
2026-06-07T22:53:32.2181046Z             },
2026-06-07T22:53:32.2181132Z             {
2026-06-07T22:53:32.2181243Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T22:53:32.2181332Z               "line": 219
2026-06-07T22:53:32.2181418Z             }
2026-06-07T22:53:32.2181499Z           ]
2026-06-07T22:53:32.2181586Z         }
2026-06-07T22:53:32.2181666Z       }
2026-06-07T22:53:32.2181751Z     },
2026-06-07T22:53:32.2181952Z     {
2026-06-07T22:53:32.2182057Z       "id": "REQ-HAZARD-EPOCH-RESET",
2026-06-07T22:53:32.2183385Z       "title": "Advertisement-epoch reset strands a node: peers' higher last-seen epoch drops the reset node's fresh advertisements as Stale until the counter outruns history. Common case (full reinstall/re-pair) is mitigated by REQ-SUBNET-7's ceremony eviction (peer-side epoch memory dies with the deleted row — acceptance-verified); the residual narrow slice (epoch file lost, identity kept) is documented, guard deferred to a field hit (4.11)",
2026-06-07T22:53:32.2183639Z       "requiredStages": [],
2026-06-07T22:53:32.2183725Z       "stages": {
2026-06-07T22:53:32.2183811Z         "doc": {
2026-06-07T22:53:32.2183911Z           "complete": true,
2026-06-07T22:53:32.2184001Z           "evidence": [
2026-06-07T22:53:32.2184088Z             {
2026-06-07T22:53:32.2184202Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T22:53:32.2184292Z               "line": 162
2026-06-07T22:53:32.2184388Z             }
2026-06-07T22:53:32.2184469Z           ]
2026-06-07T22:53:32.2184554Z         },
2026-06-07T22:53:32.2184645Z         "impl": {
2026-06-07T22:53:32.2184742Z           "complete": false,
2026-06-07T22:53:32.2184831Z           "evidence": []
2026-06-07T22:53:32.2184926Z         },
2026-06-07T22:53:32.2185013Z         "int": {
2026-06-07T22:53:32.2185104Z           "complete": false,
2026-06-07T22:53:32.2185193Z           "evidence": []
2026-06-07T22:53:32.2185284Z         },
2026-06-07T22:53:32.2185371Z         "unit": {
2026-06-07T22:53:32.2185461Z           "complete": false,
2026-06-07T22:53:32.2185555Z           "evidence": []
2026-06-07T22:53:32.2185636Z         }
2026-06-07T22:53:32.2185722Z       }
2026-06-07T22:53:32.2185802Z     },
2026-06-07T22:53:32.2185891Z     {
2026-06-07T22:53:32.2186010Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-07T22:53:32.2186220Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-07T22:53:32.2186330Z       "requiredStages": [
2026-06-07T22:53:32.2186416Z         "impl",
2026-06-07T22:53:32.2186502Z         "unit"
2026-06-07T22:53:32.2186587Z       ],
2026-06-07T22:53:32.2186678Z       "stages": {
2026-06-07T22:53:32.2186764Z         "doc": {
2026-06-07T22:53:32.2186863Z           "complete": false,
2026-06-07T22:53:32.2187045Z           "evidence": []
2026-06-07T22:53:32.2187126Z         },
2026-06-07T22:53:32.2187216Z         "impl": {
2026-06-07T22:53:32.2187308Z           "complete": true,
2026-06-07T22:53:32.2187398Z           "evidence": [
2026-06-07T22:53:32.2187484Z             {
2026-06-07T22:53:32.2187604Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T22:53:32.2187694Z               "line": 76
2026-06-07T22:53:32.2187774Z             },
2026-06-07T22:53:32.2187860Z             {
2026-06-07T22:53:32.2187971Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T22:53:32.2188060Z               "line": 167
2026-06-07T22:53:32.2188145Z             },
2026-06-07T22:53:32.2188231Z             {
2026-06-07T22:53:32.2188345Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T22:53:32.2188434Z               "line": 233
2026-06-07T22:53:32.2188519Z             },
2026-06-07T22:53:32.2188601Z             {
2026-06-07T22:53:32.2188716Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T22:53:32.2188805Z               "line": 272
2026-06-07T22:53:32.2188892Z             }
2026-06-07T22:53:32.2188973Z           ]
2026-06-07T22:53:32.2189059Z         },
2026-06-07T22:53:32.2189144Z         "int": {
2026-06-07T22:53:32.2189236Z           "complete": false,
2026-06-07T22:53:32.2189325Z           "evidence": []
2026-06-07T22:53:32.2189411Z         },
2026-06-07T22:53:32.2189497Z         "unit": {
2026-06-07T22:53:32.2189589Z           "complete": true,
2026-06-07T22:53:32.2189679Z           "evidence": [
2026-06-07T22:53:32.2189754Z             {
2026-06-07T22:53:32.2189856Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T22:53:32.2190185Z               "line": 321
2026-06-07T22:53:32.2190265Z             },
2026-06-07T22:53:32.2190356Z             {
2026-06-07T22:53:32.2190490Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T22:53:32.2190576Z               "line": 329
2026-06-07T22:53:32.2190749Z             },
2026-06-07T22:53:32.2190826Z             {
2026-06-07T22:53:32.2190939Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T22:53:32.2191024Z               "line": 356
2026-06-07T22:53:32.2191105Z             },
2026-06-07T22:53:32.2191187Z             {
2026-06-07T22:53:32.2191296Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T22:53:32.2191405Z               "line": 395
2026-06-07T22:53:32.2191507Z             },
2026-06-07T22:53:32.2191620Z             {
2026-06-07T22:53:32.2191730Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T22:53:32.2191817Z               "line": 406
2026-06-07T22:53:32.2191902Z             },
2026-06-07T22:53:32.2191978Z             {
2026-06-07T22:53:32.2192093Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T22:53:32.2192183Z               "line": 418
2026-06-07T22:53:32.2192269Z             },
2026-06-07T22:53:32.2192379Z             {
2026-06-07T22:53:32.2192489Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-07T22:53:32.2192588Z               "line": 442
2026-06-07T22:53:32.2192674Z             }
2026-06-07T22:53:32.2192761Z           ]
2026-06-07T22:53:32.2192846Z         }
2026-06-07T22:53:32.2192927Z       }
2026-06-07T22:53:32.2193013Z     },
2026-06-07T22:53:32.2193095Z     {
2026-06-07T22:53:32.2193207Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-07T22:53:32.2193353Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-07T22:53:32.2193448Z       "requiredStages": [
2026-06-07T22:53:32.2193536Z         "impl",
2026-06-07T22:53:32.2193617Z         "int"
2026-06-07T22:53:32.2193708Z       ],
2026-06-07T22:53:32.2193799Z       "stages": {
2026-06-07T22:53:32.2193899Z         "doc": {
2026-06-07T22:53:32.2193989Z           "complete": false,
2026-06-07T22:53:32.2194090Z           "evidence": []
2026-06-07T22:53:32.2194175Z         },
2026-06-07T22:53:32.2194260Z         "impl": {
2026-06-07T22:53:32.2194353Z           "complete": true,
2026-06-07T22:53:32.2194448Z           "evidence": [
2026-06-07T22:53:32.2194533Z             {
2026-06-07T22:53:32.2194653Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T22:53:32.2194743Z               "line": 22
2026-06-07T22:53:32.2194828Z             }
2026-06-07T22:53:32.2194909Z           ]
2026-06-07T22:53:32.2194997Z         },
2026-06-07T22:53:32.2195081Z         "int": {
2026-06-07T22:53:32.2195172Z           "complete": true,
2026-06-07T22:53:32.2195263Z           "evidence": [
2026-06-07T22:53:32.2195344Z             {
2026-06-07T22:53:32.2195467Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-07T22:53:32.2195558Z               "line": 18
2026-06-07T22:53:32.2195645Z             }
2026-06-07T22:53:32.2195734Z           ]
2026-06-07T22:53:32.2195820Z         },
2026-06-07T22:53:32.2195907Z         "unit": {
2026-06-07T22:53:32.2196002Z           "complete": false,
2026-06-07T22:53:32.2196091Z           "evidence": []
2026-06-07T22:53:32.2196186Z         }
2026-06-07T22:53:32.2196273Z       }
2026-06-07T22:53:32.2196352Z     },
2026-06-07T22:53:32.2196437Z     {
2026-06-07T22:53:32.2196551Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-07T22:53:32.2196742Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-07T22:53:32.2196842Z       "requiredStages": [
2026-06-07T22:53:32.2196924Z         "impl",
2026-06-07T22:53:32.2197314Z         "unit"
2026-06-07T22:53:32.2197419Z       ],
2026-06-07T22:53:32.2197535Z       "stages": {
2026-06-07T22:53:32.2197643Z         "doc": {
2026-06-07T22:53:32.2197734Z           "complete": false,
2026-06-07T22:53:32.2197829Z           "evidence": []
2026-06-07T22:53:32.2197916Z         },
2026-06-07T22:53:32.2198110Z         "impl": {
2026-06-07T22:53:32.2198202Z           "complete": true,
2026-06-07T22:53:32.2198296Z           "evidence": [
2026-06-07T22:53:32.2198378Z             {
2026-06-07T22:53:32.2198508Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.2198691Z               "line": 372
2026-06-07T22:53:32.2198781Z             },
2026-06-07T22:53:32.2198867Z             {
2026-06-07T22:53:32.2198994Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T22:53:32.2199089Z               "line": 27
2026-06-07T22:53:32.2199171Z             }
2026-06-07T22:53:32.2199257Z           ]
2026-06-07T22:53:32.2199341Z         },
2026-06-07T22:53:32.2199428Z         "int": {
2026-06-07T22:53:32.2199524Z           "complete": false,
2026-06-07T22:53:32.2199614Z           "evidence": []
2026-06-07T22:53:32.2199699Z         },
2026-06-07T22:53:32.2199786Z         "unit": {
2026-06-07T22:53:32.2199881Z           "complete": true,
2026-06-07T22:53:32.2199971Z           "evidence": [
2026-06-07T22:53:32.2200072Z             {
2026-06-07T22:53:32.2200196Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.2200286Z               "line": 817
2026-06-07T22:53:32.2200372Z             },
2026-06-07T22:53:32.2200459Z             {
2026-06-07T22:53:32.2200587Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T22:53:32.2200682Z               "line": 181
2026-06-07T22:53:32.2200769Z             }
2026-06-07T22:53:32.2200858Z           ]
2026-06-07T22:53:32.2200944Z         }
2026-06-07T22:53:32.2201031Z       }
2026-06-07T22:53:32.2201117Z     },
2026-06-07T22:53:32.2201210Z     {
2026-06-07T22:53:32.2201324Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-07T22:53:32.2201490Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-07T22:53:32.2201589Z       "requiredStages": [
2026-06-07T22:53:32.2201670Z         "impl",
2026-06-07T22:53:32.2201762Z         "unit"
2026-06-07T22:53:32.2201843Z       ],
2026-06-07T22:53:32.2201951Z       "stages": {
2026-06-07T22:53:32.2202038Z         "doc": {
2026-06-07T22:53:32.2202129Z           "complete": false,
2026-06-07T22:53:32.2202223Z           "evidence": []
2026-06-07T22:53:32.2202305Z         },
2026-06-07T22:53:32.2202391Z         "impl": {
2026-06-07T22:53:32.2202486Z           "complete": true,
2026-06-07T22:53:32.2202581Z           "evidence": [
2026-06-07T22:53:32.2202663Z             {
2026-06-07T22:53:32.2202781Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-07T22:53:32.2202871Z               "line": 20
2026-06-07T22:53:32.2202959Z             },
2026-06-07T22:53:32.2203049Z             {
2026-06-07T22:53:32.2203158Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-07T22:53:32.2203254Z               "line": 100
2026-06-07T22:53:32.2203341Z             },
2026-06-07T22:53:32.2203424Z             {
2026-06-07T22:53:32.2203545Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-07T22:53:32.2203631Z               "line": 68
2026-06-07T22:53:32.2203730Z             },
2026-06-07T22:53:32.2203811Z             {
2026-06-07T22:53:32.2203932Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-07T22:53:32.2204026Z               "line": 80
2026-06-07T22:53:32.2204111Z             }
2026-06-07T22:53:32.2204201Z           ]
2026-06-07T22:53:32.2204283Z         },
2026-06-07T22:53:32.2204378Z         "int": {
2026-06-07T22:53:32.2204473Z           "complete": false,
2026-06-07T22:53:32.2204568Z           "evidence": []
2026-06-07T22:53:32.2204655Z         },
2026-06-07T22:53:32.2204740Z         "unit": {
2026-06-07T22:53:32.2204840Z           "complete": true,
2026-06-07T22:53:32.2204927Z           "evidence": [
2026-06-07T22:53:32.2205013Z             {
2026-06-07T22:53:32.2205121Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-07T22:53:32.2205213Z               "line": 152
2026-06-07T22:53:32.2205303Z             },
2026-06-07T22:53:32.2205388Z             {
2026-06-07T22:53:32.2205503Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-07T22:53:32.2205679Z               "line": 175
2026-06-07T22:53:32.2205770Z             },
2026-06-07T22:53:32.2205852Z             {
2026-06-07T22:53:32.2205965Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-07T22:53:32.2206138Z               "line": 186
2026-06-07T22:53:32.2206224Z             },
2026-06-07T22:53:32.2206313Z             {
2026-06-07T22:53:32.2206423Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-07T22:53:32.2206516Z               "line": 202
2026-06-07T22:53:32.2206600Z             },
2026-06-07T22:53:32.2206685Z             {
2026-06-07T22:53:32.2206794Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-07T22:53:32.2206884Z               "line": 216
2026-06-07T22:53:32.2207063Z             },
2026-06-07T22:53:32.2207135Z             {
2026-06-07T22:53:32.2207260Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-07T22:53:32.2207364Z               "line": 137
2026-06-07T22:53:32.2207455Z             }
2026-06-07T22:53:32.2207541Z           ]
2026-06-07T22:53:32.2207626Z         }
2026-06-07T22:53:32.2207712Z       }
2026-06-07T22:53:32.2207794Z     },
2026-06-07T22:53:32.2207879Z     {
2026-06-07T22:53:32.2207979Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-07T22:53:32.2208237Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-07T22:53:32.2208336Z       "requiredStages": [
2026-06-07T22:53:32.2208424Z         "impl",
2026-06-07T22:53:32.2208513Z         "unit"
2026-06-07T22:53:32.2208604Z       ],
2026-06-07T22:53:32.2208695Z       "stages": {
2026-06-07T22:53:32.2208781Z         "doc": {
2026-06-07T22:53:32.2208880Z           "complete": true,
2026-06-07T22:53:32.2208976Z           "evidence": [
2026-06-07T22:53:32.2209058Z             {
2026-06-07T22:53:32.2209166Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T22:53:32.2209256Z               "line": 131
2026-06-07T22:53:32.2209341Z             }
2026-06-07T22:53:32.2209432Z           ]
2026-06-07T22:53:32.2209516Z         },
2026-06-07T22:53:32.2209601Z         "impl": {
2026-06-07T22:53:32.2209697Z           "complete": true,
2026-06-07T22:53:32.2209788Z           "evidence": [
2026-06-07T22:53:32.2209874Z             {
2026-06-07T22:53:32.2209998Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T22:53:32.2210084Z               "line": 65
2026-06-07T22:53:32.2210174Z             },
2026-06-07T22:53:32.2210259Z             {
2026-06-07T22:53:32.2210365Z               "path": "crates/spt-proto/src/id.rs",
2026-06-07T22:53:32.2210460Z               "line": 17
2026-06-07T22:53:32.2210541Z             },
2026-06-07T22:53:32.2210627Z             {
2026-06-07T22:53:32.2210742Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2210832Z               "line": 217
2026-06-07T22:53:32.2210918Z             },
2026-06-07T22:53:32.2211005Z             {
2026-06-07T22:53:32.2211118Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2211213Z               "line": 317
2026-06-07T22:53:32.2211301Z             },
2026-06-07T22:53:32.2211386Z             {
2026-06-07T22:53:32.2211523Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T22:53:32.2211620Z               "line": 32
2026-06-07T22:53:32.2211710Z             },
2026-06-07T22:53:32.2211799Z             {
2026-06-07T22:53:32.2211903Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2211999Z               "line": 3666
2026-06-07T22:53:32.2212078Z             },
2026-06-07T22:53:32.2212168Z             {
2026-06-07T22:53:32.2212273Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2212370Z               "line": 3934
2026-06-07T22:53:32.2212454Z             }
2026-06-07T22:53:32.2212540Z           ]
2026-06-07T22:53:32.2212623Z         },
2026-06-07T22:53:32.2212708Z         "int": {
2026-06-07T22:53:32.2212812Z           "complete": false,
2026-06-07T22:53:32.2212903Z           "evidence": []
2026-06-07T22:53:32.2213089Z         },
2026-06-07T22:53:32.2213174Z         "unit": {
2026-06-07T22:53:32.2213266Z           "complete": true,
2026-06-07T22:53:32.2213356Z           "evidence": [
2026-06-07T22:53:32.2213441Z             {
2026-06-07T22:53:32.2213557Z               "path": "crates/spt-proto/src/id.rs",
2026-06-07T22:53:32.2213746Z               "line": 94
2026-06-07T22:53:32.2213829Z             },
2026-06-07T22:53:32.2213915Z             {
2026-06-07T22:53:32.2214018Z               "path": "crates/spt-proto/src/id.rs",
2026-06-07T22:53:32.2214109Z               "line": 111
2026-06-07T22:53:32.2214201Z             },
2026-06-07T22:53:32.2214286Z             {
2026-06-07T22:53:32.2214390Z               "path": "crates/spt-proto/src/id.rs",
2026-06-07T22:53:32.2214483Z               "line": 124
2026-06-07T22:53:32.2214577Z             },
2026-06-07T22:53:32.2214656Z             {
2026-06-07T22:53:32.2214770Z               "path": "crates/spt-proto/src/id.rs",
2026-06-07T22:53:32.2214858Z               "line": 134
2026-06-07T22:53:32.2214953Z             },
2026-06-07T22:53:32.2215038Z             {
2026-06-07T22:53:32.2215143Z               "path": "crates/spt-proto/src/id.rs",
2026-06-07T22:53:32.2215234Z               "line": 144
2026-06-07T22:53:32.2215319Z             },
2026-06-07T22:53:32.2215409Z             {
2026-06-07T22:53:32.2215516Z               "path": "crates/spt-proto/src/id.rs",
2026-06-07T22:53:32.2215601Z               "line": 156
2026-06-07T22:53:32.2215691Z             },
2026-06-07T22:53:32.2215768Z             {
2026-06-07T22:53:32.2215896Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.2215986Z               "line": 714
2026-06-07T22:53:32.2216068Z             }
2026-06-07T22:53:32.2216155Z           ]
2026-06-07T22:53:32.2216234Z         }
2026-06-07T22:53:32.2216321Z       }
2026-06-07T22:53:32.2216403Z     },
2026-06-07T22:53:32.2216498Z     {
2026-06-07T22:53:32.2216606Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-07T22:53:32.2216737Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-07T22:53:32.2216840Z       "requiredStages": [
2026-06-07T22:53:32.2216926Z         "impl",
2026-06-07T22:53:32.2217114Z         "unit"
2026-06-07T22:53:32.2217192Z       ],
2026-06-07T22:53:32.2217283Z       "stages": {
2026-06-07T22:53:32.2217373Z         "doc": {
2026-06-07T22:53:32.2217472Z           "complete": false,
2026-06-07T22:53:32.2217562Z           "evidence": []
2026-06-07T22:53:32.2217647Z         },
2026-06-07T22:53:32.2217739Z         "impl": {
2026-06-07T22:53:32.2217834Z           "complete": true,
2026-06-07T22:53:32.2217924Z           "evidence": [
2026-06-07T22:53:32.2218005Z             {
2026-06-07T22:53:32.2218120Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T22:53:32.2218214Z               "line": 128
2026-06-07T22:53:32.2218301Z             }
2026-06-07T22:53:32.2218387Z           ]
2026-06-07T22:53:32.2218473Z         },
2026-06-07T22:53:32.2218558Z         "int": {
2026-06-07T22:53:32.2218645Z           "complete": false,
2026-06-07T22:53:32.2218749Z           "evidence": []
2026-06-07T22:53:32.2218840Z         },
2026-06-07T22:53:32.2218926Z         "unit": {
2026-06-07T22:53:32.2219022Z           "complete": true,
2026-06-07T22:53:32.2219111Z           "evidence": [
2026-06-07T22:53:32.2219202Z             {
2026-06-07T22:53:32.2219313Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T22:53:32.2219407Z               "line": 205
2026-06-07T22:53:32.2219493Z             }
2026-06-07T22:53:32.2219575Z           ]
2026-06-07T22:53:32.2219661Z         }
2026-06-07T22:53:32.2219740Z       }
2026-06-07T22:53:32.2219825Z     },
2026-06-07T22:53:32.2219906Z     {
2026-06-07T22:53:32.2220021Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-07T22:53:32.2220166Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-07T22:53:32.2220267Z       "requiredStages": [
2026-06-07T22:53:32.2220353Z         "impl",
2026-06-07T22:53:32.2220438Z         "unit"
2026-06-07T22:53:32.2220524Z       ],
2026-06-07T22:53:32.2220715Z       "stages": {
2026-06-07T22:53:32.2220805Z         "doc": {
2026-06-07T22:53:32.2220897Z           "complete": false,
2026-06-07T22:53:32.2220987Z           "evidence": []
2026-06-07T22:53:32.2221072Z         },
2026-06-07T22:53:32.2221250Z         "impl": {
2026-06-07T22:53:32.2221345Z           "complete": true,
2026-06-07T22:53:32.2221430Z           "evidence": [
2026-06-07T22:53:32.2221517Z             {
2026-06-07T22:53:32.2221640Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.2221731Z               "line": 246
2026-06-07T22:53:32.2221817Z             },
2026-06-07T22:53:32.2221903Z             {
2026-06-07T22:53:32.2222012Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.2222102Z               "line": 257
2026-06-07T22:53:32.2222190Z             },
2026-06-07T22:53:32.2222275Z             {
2026-06-07T22:53:32.2222383Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.2222473Z               "line": 275
2026-06-07T22:53:32.2222568Z             }
2026-06-07T22:53:32.2222653Z           ]
2026-06-07T22:53:32.2222733Z         },
2026-06-07T22:53:32.2222829Z         "int": {
2026-06-07T22:53:32.2222921Z           "complete": false,
2026-06-07T22:53:32.2223019Z           "evidence": []
2026-06-07T22:53:32.2223105Z         },
2026-06-07T22:53:32.2223192Z         "unit": {
2026-06-07T22:53:32.2223287Z           "complete": true,
2026-06-07T22:53:32.2223372Z           "evidence": [
2026-06-07T22:53:32.2223459Z             {
2026-06-07T22:53:32.2223568Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.2223654Z               "line": 299
2026-06-07T22:53:32.2223744Z             },
2026-06-07T22:53:32.2223826Z             {
2026-06-07T22:53:32.2223940Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.2224030Z               "line": 320
2026-06-07T22:53:32.2224117Z             },
2026-06-07T22:53:32.2224202Z             {
2026-06-07T22:53:32.2224307Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.2224408Z               "line": 547
2026-06-07T22:53:32.2224494Z             },
2026-06-07T22:53:32.2224578Z             {
2026-06-07T22:53:32.2224684Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.2226743Z               "line": 558
2026-06-07T22:53:32.2226857Z             },
2026-06-07T22:53:32.2227049Z             {
2026-06-07T22:53:32.2227176Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.2227273Z               "line": 571
2026-06-07T22:53:32.2227359Z             }
2026-06-07T22:53:32.2227443Z           ]
2026-06-07T22:53:32.2227534Z         }
2026-06-07T22:53:32.2227621Z       }
2026-06-07T22:53:32.2227702Z     },
2026-06-07T22:53:32.2227786Z     {
2026-06-07T22:53:32.2227910Z       "id": "REQ-HAZARD-INSTANT-UNDERFLOW",
2026-06-07T22:53:32.2232120Z       "title": "Scheduling never subtracts a Duration from Instant::now() (underflow-panics on a host booted more recently than the offset); 'due now / never run' is Option<Instant>=None gated on forward duration_since only (5.9)",
2026-06-07T22:53:32.2232267Z       "requiredStages": [
2026-06-07T22:53:32.2232396Z         "impl",
2026-06-07T22:53:32.2232482Z         "unit"
2026-06-07T22:53:32.2232567Z       ],
2026-06-07T22:53:32.2232662Z       "stages": {
2026-06-07T22:53:32.2232755Z         "doc": {
2026-06-07T22:53:32.2232853Z           "complete": false,
2026-06-07T22:53:32.2232948Z           "evidence": []
2026-06-07T22:53:32.2233028Z         },
2026-06-07T22:53:32.2233124Z         "impl": {
2026-06-07T22:53:32.2233218Z           "complete": true,
2026-06-07T22:53:32.2233307Z           "evidence": [
2026-06-07T22:53:32.2233399Z             {
2026-06-07T22:53:32.2233537Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.2233627Z               "line": 629
2026-06-07T22:53:32.2233709Z             }
2026-06-07T22:53:32.2233795Z           ]
2026-06-07T22:53:32.2233880Z         },
2026-06-07T22:53:32.2233966Z         "int": {
2026-06-07T22:53:32.2234209Z           "complete": false,
2026-06-07T22:53:32.2234300Z           "evidence": []
2026-06-07T22:53:32.2234391Z         },
2026-06-07T22:53:32.2234471Z         "unit": {
2026-06-07T22:53:32.2234566Z           "complete": true,
2026-06-07T22:53:32.2234748Z           "evidence": [
2026-06-07T22:53:32.2234834Z             {
2026-06-07T22:53:32.2234954Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.2235049Z               "line": 743
2026-06-07T22:53:32.2235133Z             }
2026-06-07T22:53:32.2235215Z           ]
2026-06-07T22:53:32.2235307Z         }
2026-06-07T22:53:32.2235388Z       }
2026-06-07T22:53:32.2235472Z     },
2026-06-07T22:53:32.2235554Z     {
2026-06-07T22:53:32.2235669Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-07T22:53:32.2235900Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-07T22:53:32.2235997Z       "requiredStages": [
2026-06-07T22:53:32.2236082Z         "impl",
2026-06-07T22:53:32.2236181Z         "unit"
2026-06-07T22:53:32.2236268Z       ],
2026-06-07T22:53:32.2236354Z       "stages": {
2026-06-07T22:53:32.2236444Z         "doc": {
2026-06-07T22:53:32.2236535Z           "complete": false,
2026-06-07T22:53:32.2236626Z           "evidence": []
2026-06-07T22:53:32.2236722Z         },
2026-06-07T22:53:32.2236811Z         "impl": {
2026-06-07T22:53:32.2236898Z           "complete": true,
2026-06-07T22:53:32.2237088Z           "evidence": [
2026-06-07T22:53:32.2237169Z             {
2026-06-07T22:53:32.2237285Z               "path": "crates/spt/src/api/auth.rs",
2026-06-07T22:53:32.2237384Z               "line": 14
2026-06-07T22:53:32.2237475Z             },
2026-06-07T22:53:32.2237556Z             {
2026-06-07T22:53:32.2237665Z               "path": "crates/spt/src/api/mod.rs",
2026-06-07T22:53:32.2237755Z               "line": 411
2026-06-07T22:53:32.2237843Z             }
2026-06-07T22:53:32.2237924Z           ]
2026-06-07T22:53:32.2238008Z         },
2026-06-07T22:53:32.2238099Z         "int": {
2026-06-07T22:53:32.2238191Z           "complete": false,
2026-06-07T22:53:32.2238281Z           "evidence": []
2026-06-07T22:53:32.2238365Z         },
2026-06-07T22:53:32.2238450Z         "unit": {
2026-06-07T22:53:32.2238546Z           "complete": true,
2026-06-07T22:53:32.2238640Z           "evidence": [
2026-06-07T22:53:32.2238725Z             {
2026-06-07T22:53:32.2238835Z               "path": "crates/spt/src/api/auth.rs",
2026-06-07T22:53:32.2238931Z               "line": 130
2026-06-07T22:53:32.2239011Z             },
2026-06-07T22:53:32.2239102Z             {
2026-06-07T22:53:32.2239216Z               "path": "crates/spt/src/api/auth.rs",
2026-06-07T22:53:32.2239307Z               "line": 138
2026-06-07T22:53:32.2239392Z             },
2026-06-07T22:53:32.2239475Z             {
2026-06-07T22:53:32.2239583Z               "path": "crates/spt/src/api/auth.rs",
2026-06-07T22:53:32.2239673Z               "line": 146
2026-06-07T22:53:32.2239761Z             },
2026-06-07T22:53:32.2239851Z             {
2026-06-07T22:53:32.2239950Z               "path": "crates/spt/src/api/auth.rs",
2026-06-07T22:53:32.2240046Z               "line": 154
2026-06-07T22:53:32.2240128Z             },
2026-06-07T22:53:32.2240208Z             {
2026-06-07T22:53:32.2240317Z               "path": "crates/spt/src/api/auth.rs",
2026-06-07T22:53:32.2240414Z               "line": 162
2026-06-07T22:53:32.2240504Z             },
2026-06-07T22:53:32.2240585Z             {
2026-06-07T22:53:32.2240695Z               "path": "crates/spt/src/api/auth.rs",
2026-06-07T22:53:32.2240782Z               "line": 170
2026-06-07T22:53:32.2240865Z             }
2026-06-07T22:53:32.2240951Z           ]
2026-06-07T22:53:32.2241037Z         }
2026-06-07T22:53:32.2241127Z       }
2026-06-07T22:53:32.2241206Z     },
2026-06-07T22:53:32.2241287Z     {
2026-06-07T22:53:32.2241397Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-07T22:53:32.2242375Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-07T22:53:32.2242628Z       "requiredStages": [
2026-06-07T22:53:32.2242808Z         "impl",
2026-06-07T22:53:32.2242889Z         "unit"
2026-06-07T22:53:32.2242976Z       ],
2026-06-07T22:53:32.2243056Z       "stages": {
2026-06-07T22:53:32.2243137Z         "doc": {
2026-06-07T22:53:32.2243267Z           "complete": false,
2026-06-07T22:53:32.2243381Z           "evidence": []
2026-06-07T22:53:32.2243475Z         },
2026-06-07T22:53:32.2243565Z         "impl": {
2026-06-07T22:53:32.2243656Z           "complete": true,
2026-06-07T22:53:32.2243749Z           "evidence": [
2026-06-07T22:53:32.2243830Z             {
2026-06-07T22:53:32.2243983Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-07T22:53:32.2244073Z               "line": 34
2026-06-07T22:53:32.2244158Z             }
2026-06-07T22:53:32.2244259Z           ]
2026-06-07T22:53:32.2244345Z         },
2026-06-07T22:53:32.2244435Z         "int": {
2026-06-07T22:53:32.2244526Z           "complete": false,
2026-06-07T22:53:32.2244622Z           "evidence": []
2026-06-07T22:53:32.2244712Z         },
2026-06-07T22:53:32.2244798Z         "unit": {
2026-06-07T22:53:32.2244889Z           "complete": true,
2026-06-07T22:53:32.2244979Z           "evidence": [
2026-06-07T22:53:32.2245065Z             {
2026-06-07T22:53:32.2245204Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-07T22:53:32.2245294Z               "line": 188
2026-06-07T22:53:32.2245379Z             },
2026-06-07T22:53:32.2245460Z             {
2026-06-07T22:53:32.2245599Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-07T22:53:32.2245689Z               "line": 200
2026-06-07T22:53:32.2245775Z             },
2026-06-07T22:53:32.2245858Z             {
2026-06-07T22:53:32.2245994Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-07T22:53:32.2246090Z               "line": 211
2026-06-07T22:53:32.2246172Z             },
2026-06-07T22:53:32.2246257Z             {
2026-06-07T22:53:32.2246394Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-07T22:53:32.2246495Z               "line": 253
2026-06-07T22:53:32.2246576Z             },
2026-06-07T22:53:32.2246662Z             {
2026-06-07T22:53:32.2246804Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-07T22:53:32.2246896Z               "line": 277
2026-06-07T22:53:32.2247066Z             },
2026-06-07T22:53:32.2247153Z             {
2026-06-07T22:53:32.2247291Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-07T22:53:32.2247390Z               "line": 300
2026-06-07T22:53:32.2247477Z             },
2026-06-07T22:53:32.2247563Z             {
2026-06-07T22:53:32.2247700Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-07T22:53:32.2247797Z               "line": 316
2026-06-07T22:53:32.2247877Z             }
2026-06-07T22:53:32.2247963Z           ]
2026-06-07T22:53:32.2248049Z         }
2026-06-07T22:53:32.2248131Z       }
2026-06-07T22:53:32.2248220Z     },
2026-06-07T22:53:32.2248297Z     {
2026-06-07T22:53:32.2248422Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-07T22:53:32.2248935Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-07T22:53:32.2249040Z       "requiredStages": [
2026-06-07T22:53:32.2249130Z         "impl",
2026-06-07T22:53:32.2249219Z         "unit"
2026-06-07T22:53:32.2249304Z       ],
2026-06-07T22:53:32.2249395Z       "stages": {
2026-06-07T22:53:32.2249481Z         "doc": {
2026-06-07T22:53:32.2249571Z           "complete": false,
2026-06-07T22:53:32.2249667Z           "evidence": []
2026-06-07T22:53:32.2249753Z         },
2026-06-07T22:53:32.2249948Z         "impl": {
2026-06-07T22:53:32.2250044Z           "complete": true,
2026-06-07T22:53:32.2250134Z           "evidence": [
2026-06-07T22:53:32.2250219Z             {
2026-06-07T22:53:32.2250335Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T22:53:32.2250516Z               "line": 29
2026-06-07T22:53:32.2250601Z             },
2026-06-07T22:53:32.2250683Z             {
2026-06-07T22:53:32.2250801Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T22:53:32.2250892Z               "line": 154
2026-06-07T22:53:32.2250979Z             },
2026-06-07T22:53:32.2251060Z             {
2026-06-07T22:53:32.2251173Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T22:53:32.2251260Z               "line": 173
2026-06-07T22:53:32.2251347Z             },
2026-06-07T22:53:32.2251435Z             {
2026-06-07T22:53:32.2251544Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T22:53:32.2251635Z               "line": 200
2026-06-07T22:53:32.2251729Z             }
2026-06-07T22:53:32.2251818Z           ]
2026-06-07T22:53:32.2251937Z         },
2026-06-07T22:53:32.2252038Z         "int": {
2026-06-07T22:53:32.2252138Z           "complete": false,
2026-06-07T22:53:32.2252229Z           "evidence": []
2026-06-07T22:53:32.2252324Z         },
2026-06-07T22:53:32.2252401Z         "unit": {
2026-06-07T22:53:32.2252495Z           "complete": true,
2026-06-07T22:53:32.2252582Z           "evidence": [
2026-06-07T22:53:32.2252658Z             {
2026-06-07T22:53:32.2252786Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T22:53:32.2252887Z               "line": 276
2026-06-07T22:53:32.2252982Z             },
2026-06-07T22:53:32.2253063Z             {
2026-06-07T22:53:32.2253168Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T22:53:32.2253278Z               "line": 291
2026-06-07T22:53:32.2253358Z             },
2026-06-07T22:53:32.2253449Z             {
2026-06-07T22:53:32.2253579Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T22:53:32.2253673Z               "line": 310
2026-06-07T22:53:32.2253759Z             },
2026-06-07T22:53:32.2253837Z             {
2026-06-07T22:53:32.2253950Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T22:53:32.2254045Z               "line": 326
2026-06-07T22:53:32.2254130Z             },
2026-06-07T22:53:32.2254221Z             {
2026-06-07T22:53:32.2254342Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T22:53:32.2254427Z               "line": 385
2026-06-07T22:53:32.2254514Z             },
2026-06-07T22:53:32.2254601Z             {
2026-06-07T22:53:32.2254709Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T22:53:32.2254800Z               "line": 399
2026-06-07T22:53:32.2254881Z             },
2026-06-07T22:53:32.2254972Z             {
2026-06-07T22:53:32.2255086Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T22:53:32.2255173Z               "line": 410
2026-06-07T22:53:32.2255258Z             },
2026-06-07T22:53:32.2255348Z             {
2026-06-07T22:53:32.2255459Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T22:53:32.2255549Z               "line": 421
2026-06-07T22:53:32.2255634Z             }
2026-06-07T22:53:32.2255720Z           ]
2026-06-07T22:53:32.2255807Z         }
2026-06-07T22:53:32.2255897Z       }
2026-06-07T22:53:32.2255978Z     },
2026-06-07T22:53:32.2256064Z     {
2026-06-07T22:53:32.2256183Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-07T22:53:32.2256845Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-07T22:53:32.2257045Z       "requiredStages": [
2026-06-07T22:53:32.2257137Z         "impl",
2026-06-07T22:53:32.2257231Z         "unit"
2026-06-07T22:53:32.2257311Z       ],
2026-06-07T22:53:32.2257398Z       "stages": {
2026-06-07T22:53:32.2257484Z         "doc": {
2026-06-07T22:53:32.2257689Z           "complete": false,
2026-06-07T22:53:32.2257780Z           "evidence": []
2026-06-07T22:53:32.2257865Z         },
2026-06-07T22:53:32.2257950Z         "impl": {
2026-06-07T22:53:32.2258042Z           "complete": true,
2026-06-07T22:53:32.2258227Z           "evidence": [
2026-06-07T22:53:32.2258313Z             {
2026-06-07T22:53:32.2258447Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2258538Z               "line": 27
2026-06-07T22:53:32.2258619Z             },
2026-06-07T22:53:32.2258710Z             {
2026-06-07T22:53:32.2258838Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2258929Z               "line": 110
2026-06-07T22:53:32.2259020Z             },
2026-06-07T22:53:32.2259105Z             {
2026-06-07T22:53:32.2259229Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2259321Z               "line": 153
2026-06-07T22:53:32.2259419Z             },
2026-06-07T22:53:32.2259552Z             {
2026-06-07T22:53:32.2259676Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2259765Z               "line": 182
2026-06-07T22:53:32.2259850Z             },
2026-06-07T22:53:32.2259936Z             {
2026-06-07T22:53:32.2260080Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T22:53:32.2260173Z               "line": 31
2026-06-07T22:53:32.2260256Z             },
2026-06-07T22:53:32.2260342Z             {
2026-06-07T22:53:32.2260484Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T22:53:32.2260576Z               "line": 113
2026-06-07T22:53:32.2260661Z             },
2026-06-07T22:53:32.2260742Z             {
2026-06-07T22:53:32.2260881Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T22:53:32.2260966Z               "line": 138
2026-06-07T22:53:32.2261052Z             }
2026-06-07T22:53:32.2261137Z           ]
2026-06-07T22:53:32.2261220Z         },
2026-06-07T22:53:32.2261309Z         "int": {
2026-06-07T22:53:32.2261400Z           "complete": false,
2026-06-07T22:53:32.2261491Z           "evidence": []
2026-06-07T22:53:32.2261572Z         },
2026-06-07T22:53:32.2261662Z         "unit": {
2026-06-07T22:53:32.2261762Z           "complete": true,
2026-06-07T22:53:32.2261849Z           "evidence": [
2026-06-07T22:53:32.2261935Z             {
2026-06-07T22:53:32.2262057Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2262157Z               "line": 261
2026-06-07T22:53:32.2262238Z             },
2026-06-07T22:53:32.2262322Z             {
2026-06-07T22:53:32.2262445Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2262532Z               "line": 276
2026-06-07T22:53:32.2262613Z             },
2026-06-07T22:53:32.2262693Z             {
2026-06-07T22:53:32.2262818Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2262908Z               "line": 293
2026-06-07T22:53:32.2263003Z             },
2026-06-07T22:53:32.2263089Z             {
2026-06-07T22:53:32.2263209Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2263299Z               "line": 310
2026-06-07T22:53:32.2263385Z             },
2026-06-07T22:53:32.2263467Z             {
2026-06-07T22:53:32.2263585Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2263675Z               "line": 327
2026-06-07T22:53:32.2263762Z             },
2026-06-07T22:53:32.2263843Z             {
2026-06-07T22:53:32.2263966Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2264052Z               "line": 366
2026-06-07T22:53:32.2264139Z             },
2026-06-07T22:53:32.2264223Z             {
2026-06-07T22:53:32.2264362Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T22:53:32.2264454Z               "line": 179
2026-06-07T22:53:32.2264534Z             },
2026-06-07T22:53:32.2264704Z             {
2026-06-07T22:53:32.2264837Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T22:53:32.2264931Z               "line": 194
2026-06-07T22:53:32.2265017Z             },
2026-06-07T22:53:32.2265099Z             {
2026-06-07T22:53:32.2265298Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T22:53:32.2265389Z               "line": 204
2026-06-07T22:53:32.2265475Z             },
2026-06-07T22:53:32.2265560Z             {
2026-06-07T22:53:32.2265689Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T22:53:32.2265780Z               "line": 259
2026-06-07T22:53:32.2265861Z             },
2026-06-07T22:53:32.2265951Z             {
2026-06-07T22:53:32.2266085Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T22:53:32.2266176Z               "line": 269
2026-06-07T22:53:32.2266257Z             },
2026-06-07T22:53:32.2266343Z             {
2026-06-07T22:53:32.2266476Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T22:53:32.2266571Z               "line": 283
2026-06-07T22:53:32.2266658Z             }
2026-06-07T22:53:32.2266739Z           ]
2026-06-07T22:53:32.2266829Z         }
2026-06-07T22:53:32.2266910Z       }
2026-06-07T22:53:32.2267086Z     },
2026-06-07T22:53:32.2267176Z     {
2026-06-07T22:53:32.2267292Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-07T22:53:32.2267486Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-07T22:53:32.2267581Z       "requiredStages": [],
2026-06-07T22:53:32.2267668Z       "stages": {
2026-06-07T22:53:32.2267748Z         "doc": {
2026-06-07T22:53:32.2267848Z           "complete": false,
2026-06-07T22:53:32.2267944Z           "evidence": []
2026-06-07T22:53:32.2268025Z         },
2026-06-07T22:53:32.2268110Z         "impl": {
2026-06-07T22:53:32.2268201Z           "complete": false,
2026-06-07T22:53:32.2268292Z           "evidence": []
2026-06-07T22:53:32.2268378Z         },
2026-06-07T22:53:32.2268478Z         "int": {
2026-06-07T22:53:32.2268569Z           "complete": false,
2026-06-07T22:53:32.2268654Z           "evidence": []
2026-06-07T22:53:32.2268740Z         },
2026-06-07T22:53:32.2268825Z         "unit": {
2026-06-07T22:53:32.2268927Z           "complete": false,
2026-06-07T22:53:32.2269012Z           "evidence": []
2026-06-07T22:53:32.2269102Z         }
2026-06-07T22:53:32.2269184Z       }
2026-06-07T22:53:32.2269265Z     },
2026-06-07T22:53:32.2269350Z     {
2026-06-07T22:53:32.2269474Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-07T22:53:32.2270273Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-07T22:53:32.2270372Z       "requiredStages": [
2026-06-07T22:53:32.2270462Z         "impl",
2026-06-07T22:53:32.2270559Z         "unit"
2026-06-07T22:53:32.2270654Z       ],
2026-06-07T22:53:32.2270743Z       "stages": {
2026-06-07T22:53:32.2270826Z         "doc": {
2026-06-07T22:53:32.2270921Z           "complete": false,
2026-06-07T22:53:32.2271011Z           "evidence": []
2026-06-07T22:53:32.2271106Z         },
2026-06-07T22:53:32.2271193Z         "impl": {
2026-06-07T22:53:32.2271283Z           "complete": true,
2026-06-07T22:53:32.2271378Z           "evidence": [
2026-06-07T22:53:32.2271460Z             {
2026-06-07T22:53:32.2271588Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T22:53:32.2271683Z               "line": 26
2026-06-07T22:53:32.2271765Z             },
2026-06-07T22:53:32.2271851Z             {
2026-06-07T22:53:32.2271970Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T22:53:32.2272060Z               "line": 95
2026-06-07T22:53:32.2272147Z             },
2026-06-07T22:53:32.2272232Z             {
2026-06-07T22:53:32.2272356Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T22:53:32.2272570Z               "line": 166
2026-06-07T22:53:32.2272660Z             },
2026-06-07T22:53:32.2272741Z             {
2026-06-07T22:53:32.2272858Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-07T22:53:32.2272948Z               "line": 19
2026-06-07T22:53:32.2273126Z             },
2026-06-07T22:53:32.2273215Z             {
2026-06-07T22:53:32.2273329Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-07T22:53:32.2273417Z               "line": 50
2026-06-07T22:53:32.2273507Z             },
2026-06-07T22:53:32.2273591Z             {
2026-06-07T22:53:32.2273702Z               "path": "crates/spt-live/src/turn.rs",
2026-06-07T22:53:32.2273797Z               "line": 18
2026-06-07T22:53:32.2273883Z             },
2026-06-07T22:53:32.2273964Z             {
2026-06-07T22:53:32.2274079Z               "path": "crates/spt-live/src/turn.rs",
2026-06-07T22:53:32.2274170Z               "line": 71
2026-06-07T22:53:32.2274259Z             },
2026-06-07T22:53:32.2274351Z             {
2026-06-07T22:53:32.2274469Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T22:53:32.2274569Z               "line": 70
2026-06-07T22:53:32.2274652Z             }
2026-06-07T22:53:32.2274742Z           ]
2026-06-07T22:53:32.2274832Z         },
2026-06-07T22:53:32.2274918Z         "int": {
2026-06-07T22:53:32.2275019Z           "complete": false,
2026-06-07T22:53:32.2275113Z           "evidence": []
2026-06-07T22:53:32.2275198Z         },
2026-06-07T22:53:32.2275284Z         "unit": {
2026-06-07T22:53:32.2275379Z           "complete": true,
2026-06-07T22:53:32.2275467Z           "evidence": [
2026-06-07T22:53:32.2275548Z             {
2026-06-07T22:53:32.2275668Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T22:53:32.2275759Z               "line": 289
2026-06-07T22:53:32.2275844Z             },
2026-06-07T22:53:32.2275925Z             {
2026-06-07T22:53:32.2276045Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T22:53:32.2276134Z               "line": 308
2026-06-07T22:53:32.2276221Z             },
2026-06-07T22:53:32.2276312Z             {
2026-06-07T22:53:32.2276435Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T22:53:32.2276525Z               "line": 336
2026-06-07T22:53:32.2276613Z             },
2026-06-07T22:53:32.2276702Z             {
2026-06-07T22:53:32.2276817Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T22:53:32.2276913Z               "line": 399
2026-06-07T22:53:32.2277083Z             },
2026-06-07T22:53:32.2277170Z             {
2026-06-07T22:53:32.2277289Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T22:53:32.2277384Z               "line": 410
2026-06-07T22:53:32.2277470Z             },
2026-06-07T22:53:32.2277552Z             {
2026-06-07T22:53:32.2277674Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T22:53:32.2277761Z               "line": 441
2026-06-07T22:53:32.2277843Z             },
2026-06-07T22:53:32.2277933Z             {
2026-06-07T22:53:32.2278055Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T22:53:32.2278146Z               "line": 452
2026-06-07T22:53:32.2278233Z             },
2026-06-07T22:53:32.2278318Z             {
2026-06-07T22:53:32.2278441Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-07T22:53:32.2278533Z               "line": 77
2026-06-07T22:53:32.2278619Z             },
2026-06-07T22:53:32.2278704Z             {
2026-06-07T22:53:32.2278819Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-07T22:53:32.2278909Z               "line": 97
2026-06-07T22:53:32.2278990Z             },
2026-06-07T22:53:32.2279075Z             {
2026-06-07T22:53:32.2279186Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-07T22:53:32.2279276Z               "line": 112
2026-06-07T22:53:32.2279362Z             },
2026-06-07T22:53:32.2279443Z             {
2026-06-07T22:53:32.2279557Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-07T22:53:32.2279758Z               "line": 123
2026-06-07T22:53:32.2279844Z             },
2026-06-07T22:53:32.2279929Z             {
2026-06-07T22:53:32.2280039Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-07T22:53:32.2280131Z               "line": 130
2026-06-07T22:53:32.2280306Z             },
2026-06-07T22:53:32.2280388Z             {
2026-06-07T22:53:32.2280502Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-07T22:53:32.2280592Z               "line": 145
2026-06-07T22:53:32.2280677Z             },
2026-06-07T22:53:32.2280758Z             {
2026-06-07T22:53:32.2280866Z               "path": "crates/spt-live/src/turn.rs",
2026-06-07T22:53:32.2280956Z               "line": 115
2026-06-07T22:53:32.2281037Z             },
2026-06-07T22:53:32.2281119Z             {
2026-06-07T22:53:32.2281228Z               "path": "crates/spt-live/src/turn.rs",
2026-06-07T22:53:32.2281318Z               "line": 130
2026-06-07T22:53:32.2281405Z             },
2026-06-07T22:53:32.2281486Z             {
2026-06-07T22:53:32.2281609Z               "path": "crates/spt-proto/src/event.rs",
2026-06-07T22:53:32.2281701Z               "line": 336
2026-06-07T22:53:32.2281781Z             }
2026-06-07T22:53:32.2281862Z           ]
2026-06-07T22:53:32.2281943Z         }
2026-06-07T22:53:32.2282039Z       }
2026-06-07T22:53:32.2282120Z     },
2026-06-07T22:53:32.2282205Z     {
2026-06-07T22:53:32.2282325Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-07T22:53:32.2282572Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-07T22:53:32.2282674Z       "requiredStages": [
2026-06-07T22:53:32.2282758Z         "impl",
2026-06-07T22:53:32.2282845Z         "unit"
2026-06-07T22:53:32.2282926Z       ],
2026-06-07T22:53:32.2283027Z       "stages": {
2026-06-07T22:53:32.2283111Z         "doc": {
2026-06-07T22:53:32.2283191Z           "complete": true,
2026-06-07T22:53:32.2283282Z           "evidence": [
2026-06-07T22:53:32.2283367Z             {
2026-06-07T22:53:32.2283480Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T22:53:32.2283575Z               "line": 137
2026-06-07T22:53:32.2283667Z             }
2026-06-07T22:53:32.2283752Z           ]
2026-06-07T22:53:32.2283837Z         },
2026-06-07T22:53:32.2283933Z         "impl": {
2026-06-07T22:53:32.2284029Z           "complete": true,
2026-06-07T22:53:32.2284119Z           "evidence": [
2026-06-07T22:53:32.2284200Z             {
2026-06-07T22:53:32.2284320Z               "path": "crates/spt-store/src/db.rs",
2026-06-07T22:53:32.2284410Z               "line": 29
2026-06-07T22:53:32.2284490Z             },
2026-06-07T22:53:32.2284582Z             {
2026-06-07T22:53:32.2284696Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T22:53:32.2284791Z               "line": 101
2026-06-07T22:53:32.2284873Z             },
2026-06-07T22:53:32.2284964Z             {
2026-06-07T22:53:32.2285082Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T22:53:32.2285173Z               "line": 30
2026-06-07T22:53:32.2285269Z             },
2026-06-07T22:53:32.2285353Z             {
2026-06-07T22:53:32.2285468Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2285555Z               "line": 48
2026-06-07T22:53:32.2285645Z             }
2026-06-07T22:53:32.2285734Z           ]
2026-06-07T22:53:32.2285814Z         },
2026-06-07T22:53:32.2285901Z         "int": {
2026-06-07T22:53:32.2285995Z           "complete": false,
2026-06-07T22:53:32.2286084Z           "evidence": []
2026-06-07T22:53:32.2286166Z         },
2026-06-07T22:53:32.2286257Z         "unit": {
2026-06-07T22:53:32.2286352Z           "complete": true,
2026-06-07T22:53:32.2286442Z           "evidence": [
2026-06-07T22:53:32.2286529Z             {
2026-06-07T22:53:32.2286648Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T22:53:32.2286738Z               "line": 162
2026-06-07T22:53:32.2286819Z             }
2026-06-07T22:53:32.2286914Z           ]
2026-06-07T22:53:32.2287115Z         }
2026-06-07T22:53:32.2287306Z       }
2026-06-07T22:53:32.2287391Z     },
2026-06-07T22:53:32.2287473Z     {
2026-06-07T22:53:32.2287591Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-07T22:53:32.2287963Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-07T22:53:32.2288160Z       "requiredStages": [
2026-06-07T22:53:32.2288248Z         "doc",
2026-06-07T22:53:32.2288335Z         "impl",
2026-06-07T22:53:32.2288417Z         "unit"
2026-06-07T22:53:32.2288503Z       ],
2026-06-07T22:53:32.2288587Z       "stages": {
2026-06-07T22:53:32.2288677Z         "doc": {
2026-06-07T22:53:32.2288774Z           "complete": true,
2026-06-07T22:53:32.2288869Z           "evidence": [
2026-06-07T22:53:32.2288949Z             {
2026-06-07T22:53:32.2289059Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T22:53:32.2289150Z               "line": 149
2026-06-07T22:53:32.2289235Z             }
2026-06-07T22:53:32.2289316Z           ]
2026-06-07T22:53:32.2289418Z         },
2026-06-07T22:53:32.2289508Z         "impl": {
2026-06-07T22:53:32.2289598Z           "complete": true,
2026-06-07T22:53:32.2289689Z           "evidence": [
2026-06-07T22:53:32.2289774Z             {
2026-06-07T22:53:32.2289898Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T22:53:32.2289989Z               "line": 22
2026-06-07T22:53:32.2290080Z             }
2026-06-07T22:53:32.2290165Z           ]
2026-06-07T22:53:32.2290251Z         },
2026-06-07T22:53:32.2290338Z         "int": {
2026-06-07T22:53:32.2290428Z           "complete": false,
2026-06-07T22:53:32.2290523Z           "evidence": []
2026-06-07T22:53:32.2290604Z         },
2026-06-07T22:53:32.2290696Z         "unit": {
2026-06-07T22:53:32.2290785Z           "complete": true,
2026-06-07T22:53:32.2290876Z           "evidence": [
2026-06-07T22:53:32.2290958Z             {
2026-06-07T22:53:32.2291076Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T22:53:32.2291176Z               "line": 298
2026-06-07T22:53:32.2291261Z             }
2026-06-07T22:53:32.2291347Z           ]
2026-06-07T22:53:32.2291435Z         }
2026-06-07T22:53:32.2291516Z       }
2026-06-07T22:53:32.2291602Z     },
2026-06-07T22:53:32.2291684Z     {
2026-06-07T22:53:32.2291807Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-07T22:53:32.2292246Z       "title": "Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)",
2026-06-07T22:53:32.2292351Z       "requiredStages": [
2026-06-07T22:53:32.2292436Z         "impl",
2026-06-07T22:53:32.2292522Z         "unit"
2026-06-07T22:53:32.2292614Z       ],
2026-06-07T22:53:32.2292704Z       "stages": {
2026-06-07T22:53:32.2292789Z         "doc": {
2026-06-07T22:53:32.2292880Z           "complete": true,
2026-06-07T22:53:32.2292975Z           "evidence": [
2026-06-07T22:53:32.2293061Z             {
2026-06-07T22:53:32.2293166Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T22:53:32.2293267Z               "line": 143
2026-06-07T22:53:32.2293347Z             }
2026-06-07T22:53:32.2293433Z           ]
2026-06-07T22:53:32.2293515Z         },
2026-06-07T22:53:32.2293601Z         "impl": {
2026-06-07T22:53:32.2293699Z           "complete": true,
2026-06-07T22:53:32.2293799Z           "evidence": [
2026-06-07T22:53:32.2293890Z             {
2026-06-07T22:53:32.2294012Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2294106Z               "line": 209
2026-06-07T22:53:32.2294193Z             },
2026-06-07T22:53:32.2294279Z             {
2026-06-07T22:53:32.2294392Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-07T22:53:32.2294488Z               "line": 15
2026-06-07T22:53:32.2294575Z             }
2026-06-07T22:53:32.2294655Z           ]
2026-06-07T22:53:32.2294740Z         },
2026-06-07T22:53:32.2294823Z         "int": {
2026-06-07T22:53:32.2294918Z           "complete": false,
2026-06-07T22:53:32.2295008Z           "evidence": []
2026-06-07T22:53:32.2295171Z         },
2026-06-07T22:53:32.2295256Z         "unit": {
2026-06-07T22:53:32.2295356Z           "complete": true,
2026-06-07T22:53:32.2295448Z           "evidence": [
2026-06-07T22:53:32.2295533Z             {
2026-06-07T22:53:32.2295752Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-07T22:53:32.2295843Z               "line": 87
2026-06-07T22:53:32.2295928Z             },
2026-06-07T22:53:32.2296014Z             {
2026-06-07T22:53:32.2296134Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2296224Z               "line": 729
2026-06-07T22:53:32.2296309Z             },
2026-06-07T22:53:32.2296389Z             {
2026-06-07T22:53:32.2296513Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2296602Z               "line": 748
2026-06-07T22:53:32.2296687Z             },
2026-06-07T22:53:32.2296769Z             {
2026-06-07T22:53:32.2296893Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-07T22:53:32.2297084Z               "line": 167
2026-06-07T22:53:32.2297165Z             },
2026-06-07T22:53:32.2297250Z             {
2026-06-07T22:53:32.2297365Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-07T22:53:32.2297456Z               "line": 77
2026-06-07T22:53:32.2297546Z             },
2026-06-07T22:53:32.2297632Z             {
2026-06-07T22:53:32.2297742Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-07T22:53:32.2297832Z               "line": 94
2026-06-07T22:53:32.2300073Z             },
2026-06-07T22:53:32.2300182Z             {
2026-06-07T22:53:32.2300321Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-07T22:53:32.2300411Z               "line": 114
2026-06-07T22:53:32.2300506Z             }
2026-06-07T22:53:32.2300588Z           ]
2026-06-07T22:53:32.2300668Z         }
2026-06-07T22:53:32.2300754Z       }
2026-06-07T22:53:32.2300835Z     },
2026-06-07T22:53:32.2300917Z     {
2026-06-07T22:53:32.2301035Z       "id": "REQ-HAZARD-REGISTRY-GHOST-ROWS",
2026-06-07T22:53:32.2302386Z       "title": "A dead node identity's registry rows must decay: only the per-(endpoint,node) epoch lease supersedes rows, so without eviction a vanished node's rows are immortal and poison bare-id resolution with phantom AcrossNodes ambiguity — evict rows whose author node has not been heard (admitted inbound feed) within the eviction window; own rows never decay; a revived node re-inserts from its durable epoch within one pump cadence (4.10)",
2026-06-07T22:53:32.2302496Z       "requiredStages": [
2026-06-07T22:53:32.2302582Z         "doc",
2026-06-07T22:53:32.2302672Z         "impl",
2026-06-07T22:53:32.2302758Z         "unit"
2026-06-07T22:53:32.2302850Z       ],
2026-06-07T22:53:32.2302939Z       "stages": {
2026-06-07T22:53:32.2303020Z         "doc": {
2026-06-07T22:53:32.2303116Z           "complete": true,
2026-06-07T22:53:32.2303202Z           "evidence": [
2026-06-07T22:53:32.2303288Z             {
2026-06-07T22:53:32.2303392Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T22:53:32.2303484Z               "line": 155
2026-06-07T22:53:32.2303573Z             }
2026-06-07T22:53:32.2303659Z           ]
2026-06-07T22:53:32.2303760Z         },
2026-06-07T22:53:32.2303846Z         "impl": {
2026-06-07T22:53:32.2303945Z           "complete": true,
2026-06-07T22:53:32.2304046Z           "evidence": [
2026-06-07T22:53:32.2304165Z             {
2026-06-07T22:53:32.2304283Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.2304368Z               "line": 345
2026-06-07T22:53:32.2304455Z             },
2026-06-07T22:53:32.2304538Z             {
2026-06-07T22:53:32.2304685Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2304772Z               "line": 391
2026-06-07T22:53:32.2304858Z             },
2026-06-07T22:53:32.2304971Z             {
2026-06-07T22:53:32.2305101Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2305201Z               "line": 398
2026-06-07T22:53:32.2305539Z             },
2026-06-07T22:53:32.2305625Z             {
2026-06-07T22:53:32.2305783Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2305873Z               "line": 191
2026-06-07T22:53:32.2305959Z             }
2026-06-07T22:53:32.2306131Z           ]
2026-06-07T22:53:32.2306217Z         },
2026-06-07T22:53:32.2306303Z         "int": {
2026-06-07T22:53:32.2306399Z           "complete": false,
2026-06-07T22:53:32.2306493Z           "evidence": []
2026-06-07T22:53:32.2306574Z         },
2026-06-07T22:53:32.2306666Z         "unit": {
2026-06-07T22:53:32.2306756Z           "complete": true,
2026-06-07T22:53:32.2306849Z           "evidence": [
2026-06-07T22:53:32.2306930Z             {
2026-06-07T22:53:32.2307167Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2307257Z               "line": 1188
2026-06-07T22:53:32.2307344Z             },
2026-06-07T22:53:32.2307425Z             {
2026-06-07T22:53:32.2307543Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2307644Z               "line": 1246
2026-06-07T22:53:32.2307725Z             },
2026-06-07T22:53:32.2307815Z             {
2026-06-07T22:53:32.2307930Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2308031Z               "line": 761
2026-06-07T22:53:32.2308120Z             }
2026-06-07T22:53:32.2308201Z           ]
2026-06-07T22:53:32.2308283Z         }
2026-06-07T22:53:32.2308369Z       }
2026-06-07T22:53:32.2308459Z     },
2026-06-07T22:53:32.2308540Z     {
2026-06-07T22:53:32.2308660Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-07T22:53:32.2308855Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-07T22:53:32.2308951Z       "requiredStages": [
2026-06-07T22:53:32.2309045Z         "impl",
2026-06-07T22:53:32.2309131Z         "unit"
2026-06-07T22:53:32.2309223Z       ],
2026-06-07T22:53:32.2309309Z       "stages": {
2026-06-07T22:53:32.2309402Z         "doc": {
2026-06-07T22:53:32.2309499Z           "complete": false,
2026-06-07T22:53:32.2309590Z           "evidence": []
2026-06-07T22:53:32.2309679Z         },
2026-06-07T22:53:32.2309764Z         "impl": {
2026-06-07T22:53:32.2309860Z           "complete": true,
2026-06-07T22:53:32.2309951Z           "evidence": [
2026-06-07T22:53:32.2310036Z             {
2026-06-07T22:53:32.2310151Z               "path": "crates/spt-store/src/proc.rs",
2026-06-07T22:53:32.2310242Z               "line": 15
2026-06-07T22:53:32.2310323Z             },
2026-06-07T22:53:32.2310403Z             {
2026-06-07T22:53:32.2310528Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T22:53:32.2310619Z               "line": 55
2026-06-07T22:53:32.2310698Z             },
2026-06-07T22:53:32.2310785Z             {
2026-06-07T22:53:32.2310909Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T22:53:32.2311004Z               "line": 66
2026-06-07T22:53:32.2311085Z             },
2026-06-07T22:53:32.2311167Z             {
2026-06-07T22:53:32.2311300Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T22:53:32.2311386Z               "line": 115
2026-06-07T22:53:32.2311468Z             },
2026-06-07T22:53:32.2311553Z             {
2026-06-07T22:53:32.2311667Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T22:53:32.2311759Z               "line": 138
2026-06-07T22:53:32.2311845Z             }
2026-06-07T22:53:32.2311929Z           ]
2026-06-07T22:53:32.2312010Z         },
2026-06-07T22:53:32.2312093Z         "int": {
2026-06-07T22:53:32.2312188Z           "complete": false,
2026-06-07T22:53:32.2312281Z           "evidence": []
2026-06-07T22:53:32.2312361Z         },
2026-06-07T22:53:32.2312448Z         "unit": {
2026-06-07T22:53:32.2312542Z           "complete": true,
2026-06-07T22:53:32.2312627Z           "evidence": [
2026-06-07T22:53:32.2312727Z             {
2026-06-07T22:53:32.2312823Z               "path": "crates/spt-store/src/proc.rs",
2026-06-07T22:53:32.2312912Z               "line": 149
2026-06-07T22:53:32.2313246Z             },
2026-06-07T22:53:32.2313332Z             {
2026-06-07T22:53:32.2313447Z               "path": "crates/spt-store/src/proc.rs",
2026-06-07T22:53:32.2313533Z               "line": 155
2026-06-07T22:53:32.2313701Z             },
2026-06-07T22:53:32.2313786Z             {
2026-06-07T22:53:32.2313890Z               "path": "crates/spt-store/src/proc.rs",
2026-06-07T22:53:32.2313981Z               "line": 169
2026-06-07T22:53:32.2314091Z             },
2026-06-07T22:53:32.2314177Z             {
2026-06-07T22:53:32.2314281Z               "path": "crates/spt-store/src/proc.rs",
2026-06-07T22:53:32.2314373Z               "line": 178
2026-06-07T22:53:32.2314452Z             },
2026-06-07T22:53:32.2314539Z             {
2026-06-07T22:53:32.2314654Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T22:53:32.2314744Z               "line": 195
2026-06-07T22:53:32.2314829Z             },
2026-06-07T22:53:32.2314914Z             {
2026-06-07T22:53:32.2315034Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T22:53:32.2315122Z               "line": 208
2026-06-07T22:53:32.2315207Z             },
2026-06-07T22:53:32.2315289Z             {
2026-06-07T22:53:32.2315404Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T22:53:32.2315499Z               "line": 271
2026-06-07T22:53:32.2315580Z             },
2026-06-07T22:53:32.2315661Z             {
2026-06-07T22:53:32.2315775Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T22:53:32.2315870Z               "line": 290
2026-06-07T22:53:32.2315953Z             },
2026-06-07T22:53:32.2316038Z             {
2026-06-07T22:53:32.2316152Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T22:53:32.2316238Z               "line": 319
2026-06-07T22:53:32.2316315Z             }
2026-06-07T22:53:32.2316395Z           ]
2026-06-07T22:53:32.2316481Z         }
2026-06-07T22:53:32.2316563Z       }
2026-06-07T22:53:32.2316644Z     },
2026-06-07T22:53:32.2316734Z     {
2026-06-07T22:53:32.2316848Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-07T22:53:32.2317236Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-07T22:53:32.2317334Z       "requiredStages": [
2026-06-07T22:53:32.2317433Z         "impl",
2026-06-07T22:53:32.2317519Z         "unit",
2026-06-07T22:53:32.2317605Z         "int"
2026-06-07T22:53:32.2317689Z       ],
2026-06-07T22:53:32.2317779Z       "stages": {
2026-06-07T22:53:32.2317865Z         "doc": {
2026-06-07T22:53:32.2317957Z           "complete": false,
2026-06-07T22:53:32.2318046Z           "evidence": []
2026-06-07T22:53:32.2318127Z         },
2026-06-07T22:53:32.2318219Z         "impl": {
2026-06-07T22:53:32.2318309Z           "complete": true,
2026-06-07T22:53:32.2318403Z           "evidence": [
2026-06-07T22:53:32.2318485Z             {
2026-06-07T22:53:32.2318600Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T22:53:32.2318695Z               "line": 269
2026-06-07T22:53:32.2318790Z             },
2026-06-07T22:53:32.2318872Z             {
2026-06-07T22:53:32.2318986Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T22:53:32.2319076Z               "line": 578
2026-06-07T22:53:32.2319177Z             },
2026-06-07T22:53:32.2319263Z             {
2026-06-07T22:53:32.2319376Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T22:53:32.2319464Z               "line": 601
2026-06-07T22:53:32.2319549Z             },
2026-06-07T22:53:32.2319639Z             {
2026-06-07T22:53:32.2319749Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T22:53:32.2319840Z               "line": 625
2026-06-07T22:53:32.2319925Z             },
2026-06-07T22:53:32.2320006Z             {
2026-06-07T22:53:32.2320126Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T22:53:32.2320211Z               "line": 492
2026-06-07T22:53:32.2320300Z             },
2026-06-07T22:53:32.2320381Z             {
2026-06-07T22:53:32.2320606Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T22:53:32.2320696Z               "line": 580
2026-06-07T22:53:32.2320783Z             },
2026-06-07T22:53:32.2320864Z             {
2026-06-07T22:53:32.2320977Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T22:53:32.2321159Z               "line": 690
2026-06-07T22:53:32.2321245Z             },
2026-06-07T22:53:32.2321326Z             {
2026-06-07T22:53:32.2321441Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T22:53:32.2321536Z               "line": 738
2026-06-07T22:53:32.2321621Z             },
2026-06-07T22:53:32.2321703Z             {
2026-06-07T22:53:32.2321817Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-07T22:53:32.2321907Z               "line": 46
2026-06-07T22:53:32.2321994Z             },
2026-06-07T22:53:32.2322075Z             {
2026-06-07T22:53:32.2322194Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-07T22:53:32.2322285Z               "line": 167
2026-06-07T22:53:32.2322376Z             },
2026-06-07T22:53:32.2322461Z             {
2026-06-07T22:53:32.2322570Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-07T22:53:32.2322662Z               "line": 71
2026-06-07T22:53:32.2322753Z             },
2026-06-07T22:53:32.2322841Z             {
2026-06-07T22:53:32.2322951Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2323042Z               "line": 134
2026-06-07T22:53:32.2323130Z             },
2026-06-07T22:53:32.2323211Z             {
2026-06-07T22:53:32.2323321Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2323407Z               "line": 180
2026-06-07T22:53:32.2323496Z             }
2026-06-07T22:53:32.2323583Z           ]
2026-06-07T22:53:32.2323665Z         },
2026-06-07T22:53:32.2323751Z         "int": {
2026-06-07T22:53:32.2323840Z           "complete": true,
2026-06-07T22:53:32.2323927Z           "evidence": [
2026-06-07T22:53:32.2324012Z             {
2026-06-07T22:53:32.2324145Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-07T22:53:32.2324232Z               "line": 27
2026-06-07T22:53:32.2324318Z             },
2026-06-07T22:53:32.2324408Z             {
2026-06-07T22:53:32.2324532Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-07T22:53:32.2324638Z               "line": 128
2026-06-07T22:53:32.2324727Z             },
2026-06-07T22:53:32.2324808Z             {
2026-06-07T22:53:32.2324933Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-07T22:53:32.2325022Z               "line": 199
2026-06-07T22:53:32.2325108Z             }
2026-06-07T22:53:32.2325191Z           ]
2026-06-07T22:53:32.2325282Z         },
2026-06-07T22:53:32.2325365Z         "unit": {
2026-06-07T22:53:32.2325455Z           "complete": true,
2026-06-07T22:53:32.2325546Z           "evidence": [
2026-06-07T22:53:32.2325627Z             {
2026-06-07T22:53:32.2325744Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-07T22:53:32.2325840Z               "line": 313
2026-06-07T22:53:32.2325926Z             },
2026-06-07T22:53:32.2326011Z             {
2026-06-07T22:53:32.2326125Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-07T22:53:32.2326213Z               "line": 345
2026-06-07T22:53:32.2326307Z             },
2026-06-07T22:53:32.2326392Z             {
2026-06-07T22:53:32.2326503Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-07T22:53:32.2326593Z               "line": 366
2026-06-07T22:53:32.2326678Z             },
2026-06-07T22:53:32.2326759Z             {
2026-06-07T22:53:32.2326879Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-07T22:53:32.2327051Z               "line": 253
2026-06-07T22:53:32.2327142Z             },
2026-06-07T22:53:32.2327222Z             {
2026-06-07T22:53:32.2327346Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-07T22:53:32.2327433Z               "line": 238
2026-06-07T22:53:32.2327519Z             },
2026-06-07T22:53:32.2327709Z             {
2026-06-07T22:53:32.2327824Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-07T22:53:32.2327918Z               "line": 229
2026-06-07T22:53:32.2327998Z             },
2026-06-07T22:53:32.2328084Z             {
2026-06-07T22:53:32.2328306Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2328396Z               "line": 488
2026-06-07T22:53:32.2328479Z             },
2026-06-07T22:53:32.2328564Z             {
2026-06-07T22:53:32.2328677Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2328765Z               "line": 518
2026-06-07T22:53:32.2328850Z             }
2026-06-07T22:53:32.2328935Z           ]
2026-06-07T22:53:32.2329017Z         }
2026-06-07T22:53:32.2329098Z       }
2026-06-07T22:53:32.2329184Z     },
2026-06-07T22:53:32.2329264Z     {
2026-06-07T22:53:32.2329380Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-07T22:53:32.2329569Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-07T22:53:32.2329675Z       "requiredStages": [
2026-06-07T22:53:32.2329761Z         "impl",
2026-06-07T22:53:32.2329846Z         "unit"
2026-06-07T22:53:32.2329932Z       ],
2026-06-07T22:53:32.2330024Z       "stages": {
2026-06-07T22:53:32.2330104Z         "doc": {
2026-06-07T22:53:32.2330209Z           "complete": false,
2026-06-07T22:53:32.2330300Z           "evidence": []
2026-06-07T22:53:32.2330381Z         },
2026-06-07T22:53:32.2330471Z         "impl": {
2026-06-07T22:53:32.2330562Z           "complete": true,
2026-06-07T22:53:32.2330653Z           "evidence": [
2026-06-07T22:53:32.2330734Z             {
2026-06-07T22:53:32.2330861Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.2330946Z               "line": 56
2026-06-07T22:53:32.2331029Z             },
2026-06-07T22:53:32.2331119Z             {
2026-06-07T22:53:32.2331237Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.2331329Z               "line": 65
2026-06-07T22:53:32.2331420Z             },
2026-06-07T22:53:32.2331504Z             {
2026-06-07T22:53:32.2331629Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.2331720Z               "line": 72
2026-06-07T22:53:32.2331805Z             },
2026-06-07T22:53:32.2331896Z             {
2026-06-07T22:53:32.2332011Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2332096Z               "line": 33
2026-06-07T22:53:32.2332181Z             },
2026-06-07T22:53:32.2332269Z             {
2026-06-07T22:53:32.2332377Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2332468Z               "line": 65
2026-06-07T22:53:32.2332549Z             },
2026-06-07T22:53:32.2332635Z             {
2026-06-07T22:53:32.2332744Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2332830Z               "line": 74
2026-06-07T22:53:32.2332917Z             },
2026-06-07T22:53:32.2333002Z             {
2026-06-07T22:53:32.2333112Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2333204Z               "line": 83
2026-06-07T22:53:32.2333289Z             },
2026-06-07T22:53:32.2333373Z             {
2026-06-07T22:53:32.2333487Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2333582Z               "line": 92
2026-06-07T22:53:32.2333667Z             },
2026-06-07T22:53:32.2333747Z             {
2026-06-07T22:53:32.2333857Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2333952Z               "line": 101
2026-06-07T22:53:32.2334038Z             },
2026-06-07T22:53:32.2334128Z             {
2026-06-07T22:53:32.2334239Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2334329Z               "line": 109
2026-06-07T22:53:32.2334419Z             },
2026-06-07T22:53:32.2334501Z             {
2026-06-07T22:53:32.2334615Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2334705Z               "line": 118
2026-06-07T22:53:32.2334869Z             },
2026-06-07T22:53:32.2334959Z             {
2026-06-07T22:53:32.2335063Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2335155Z               "line": 127
2026-06-07T22:53:32.2335240Z             },
2026-06-07T22:53:32.2335397Z             {
2026-06-07T22:53:32.2335508Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2335596Z               "line": 134
2026-06-07T22:53:32.2335683Z             },
2026-06-07T22:53:32.2335766Z             {
2026-06-07T22:53:32.2335879Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2335968Z               "line": 141
2026-06-07T22:53:32.2336058Z             },
2026-06-07T22:53:32.2336140Z             {
2026-06-07T22:53:32.2336252Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2336342Z               "line": 149
2026-06-07T22:53:32.2336423Z             },
2026-06-07T22:53:32.2336505Z             {
2026-06-07T22:53:32.2336614Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2336710Z               "line": 158
2026-06-07T22:53:32.2336805Z             },
2026-06-07T22:53:32.2336886Z             {
2026-06-07T22:53:32.2337083Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2337177Z               "line": 167
2026-06-07T22:53:32.2337262Z             },
2026-06-07T22:53:32.2337344Z             {
2026-06-07T22:53:32.2337458Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2337549Z               "line": 176
2026-06-07T22:53:32.2337639Z             },
2026-06-07T22:53:32.2337727Z             {
2026-06-07T22:53:32.2337834Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2337925Z               "line": 188
2026-06-07T22:53:32.2338012Z             },
2026-06-07T22:53:32.2338093Z             {
2026-06-07T22:53:32.2338202Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2338288Z               "line": 195
2026-06-07T22:53:32.2338375Z             },
2026-06-07T22:53:32.2338473Z             {
2026-06-07T22:53:32.2338582Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2338673Z               "line": 204
2026-06-07T22:53:32.2338762Z             },
2026-06-07T22:53:32.2338847Z             {
2026-06-07T22:53:32.2338961Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2339048Z               "line": 211
2026-06-07T22:53:32.2339133Z             },
2026-06-07T22:53:32.2339223Z             {
2026-06-07T22:53:32.2339339Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2339425Z               "line": 278
2026-06-07T22:53:32.2339514Z             },
2026-06-07T22:53:32.2339596Z             {
2026-06-07T22:53:32.2339706Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2339796Z               "line": 290
2026-06-07T22:53:32.2339881Z             },
2026-06-07T22:53:32.2339964Z             {
2026-06-07T22:53:32.2340073Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2340168Z               "line": 377
2026-06-07T22:53:32.2340250Z             }
2026-06-07T22:53:32.2340331Z           ]
2026-06-07T22:53:32.2340411Z         },
2026-06-07T22:53:32.2340502Z         "int": {
2026-06-07T22:53:32.2340594Z           "complete": false,
2026-06-07T22:53:32.2340683Z           "evidence": []
2026-06-07T22:53:32.2340769Z         },
2026-06-07T22:53:32.2340850Z         "unit": {
2026-06-07T22:53:32.2340946Z           "complete": true,
2026-06-07T22:53:32.2341035Z           "evidence": [
2026-06-07T22:53:32.2341122Z             {
2026-06-07T22:53:32.2341238Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2341322Z               "line": 459
2026-06-07T22:53:32.2341407Z             },
2026-06-07T22:53:32.2341487Z             {
2026-06-07T22:53:32.2341598Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2341683Z               "line": 500
2026-06-07T22:53:32.2341773Z             },
2026-06-07T22:53:32.2341970Z             {
2026-06-07T22:53:32.2342079Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2342165Z               "line": 513
2026-06-07T22:53:32.2342251Z             },
2026-06-07T22:53:32.2342332Z             {
2026-06-07T22:53:32.2342523Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2342618Z               "line": 599
2026-06-07T22:53:32.2342708Z             }
2026-06-07T22:53:32.2342794Z           ]
2026-06-07T22:53:32.2342876Z         }
2026-06-07T22:53:32.2342961Z       }
2026-06-07T22:53:32.2343051Z     },
2026-06-07T22:53:32.2343129Z     {
2026-06-07T22:53:32.2343238Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-07T22:53:32.2343424Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-07T22:53:32.2343520Z       "requiredStages": [
2026-06-07T22:53:32.2343609Z         "impl",
2026-06-07T22:53:32.2343691Z         "unit"
2026-06-07T22:53:32.2343773Z       ],
2026-06-07T22:53:32.2343868Z       "stages": {
2026-06-07T22:53:32.2343994Z         "doc": {
2026-06-07T22:53:32.2344090Z           "complete": false,
2026-06-07T22:53:32.2344180Z           "evidence": []
2026-06-07T22:53:32.2344255Z         },
2026-06-07T22:53:32.2344335Z         "impl": {
2026-06-07T22:53:32.2344466Z           "complete": true,
2026-06-07T22:53:32.2344551Z           "evidence": [
2026-06-07T22:53:32.2344640Z             {
2026-06-07T22:53:32.2344756Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T22:53:32.2344846Z               "line": 143
2026-06-07T22:53:32.2344979Z             },
2026-06-07T22:53:32.2345071Z             {
2026-06-07T22:53:32.2345194Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2345284Z               "line": 148
2026-06-07T22:53:32.2345372Z             }
2026-06-07T22:53:32.2345481Z           ]
2026-06-07T22:53:32.2345562Z         },
2026-06-07T22:53:32.2345647Z         "int": {
2026-06-07T22:53:32.2345739Z           "complete": false,
2026-06-07T22:53:32.2345828Z           "evidence": []
2026-06-07T22:53:32.2345918Z         },
2026-06-07T22:53:32.2346006Z         "unit": {
2026-06-07T22:53:32.2346096Z           "complete": true,
2026-06-07T22:53:32.2346186Z           "evidence": [
2026-06-07T22:53:32.2346267Z             {
2026-06-07T22:53:32.2346388Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T22:53:32.2346481Z               "line": 264
2026-06-07T22:53:32.2346561Z             },
2026-06-07T22:53:32.2346648Z             {
2026-06-07T22:53:32.2346766Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2346854Z               "line": 544
2026-06-07T22:53:32.2347032Z             },
2026-06-07T22:53:32.2347127Z             {
2026-06-07T22:53:32.2347241Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2347328Z               "line": 557
2026-06-07T22:53:32.2347413Z             }
2026-06-07T22:53:32.2347498Z           ]
2026-06-07T22:53:32.2347579Z         }
2026-06-07T22:53:32.2347662Z       }
2026-06-07T22:53:32.2347752Z     },
2026-06-07T22:53:32.2347832Z     {
2026-06-07T22:53:32.2347938Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-07T22:53:32.2348076Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-07T22:53:32.2348176Z       "requiredStages": [
2026-06-07T22:53:32.2348267Z         "impl",
2026-06-07T22:53:32.2348357Z         "unit"
2026-06-07T22:53:32.2348438Z       ],
2026-06-07T22:53:32.2348528Z       "stages": {
2026-06-07T22:53:32.2348616Z         "doc": {
2026-06-07T22:53:32.2348704Z           "complete": false,
2026-06-07T22:53:32.2348800Z           "evidence": []
2026-06-07T22:53:32.2348883Z         },
2026-06-07T22:53:32.2348973Z         "impl": {
2026-06-07T22:53:32.2349062Z           "complete": true,
2026-06-07T22:53:32.2349151Z           "evidence": [
2026-06-07T22:53:32.2349238Z             {
2026-06-07T22:53:32.2349355Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T22:53:32.2349450Z               "line": 114
2026-06-07T22:53:32.2349531Z             },
2026-06-07T22:53:32.2349722Z             {
2026-06-07T22:53:32.2349846Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.2349937Z               "line": 481
2026-06-07T22:53:32.2350017Z             }
2026-06-07T22:53:32.2350200Z           ]
2026-06-07T22:53:32.2350289Z         },
2026-06-07T22:53:32.2350380Z         "int": {
2026-06-07T22:53:32.2350466Z           "complete": false,
2026-06-07T22:53:32.2350557Z           "evidence": []
2026-06-07T22:53:32.2350643Z         },
2026-06-07T22:53:32.2350728Z         "unit": {
2026-06-07T22:53:32.2350824Z           "complete": true,
2026-06-07T22:53:32.2350914Z           "evidence": [
2026-06-07T22:53:32.2350995Z             {
2026-06-07T22:53:32.2351120Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.2351210Z               "line": 515
2026-06-07T22:53:32.2351300Z             }
2026-06-07T22:53:32.2351386Z           ]
2026-06-07T22:53:32.2351478Z         }
2026-06-07T22:53:32.2351563Z       }
2026-06-07T22:53:32.2351653Z     },
2026-06-07T22:53:32.2351735Z     {
2026-06-07T22:53:32.2351854Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-07T22:53:32.2352076Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-07T22:53:32.2352178Z       "requiredStages": [
2026-06-07T22:53:32.2352267Z         "impl",
2026-06-07T22:53:32.2352357Z         "unit"
2026-06-07T22:53:32.2352440Z       ],
2026-06-07T22:53:32.2352526Z       "stages": {
2026-06-07T22:53:32.2352610Z         "doc": {
2026-06-07T22:53:32.2352706Z           "complete": false,
2026-06-07T22:53:32.2352797Z           "evidence": []
2026-06-07T22:53:32.2352883Z         },
2026-06-07T22:53:32.2352973Z         "impl": {
2026-06-07T22:53:32.2353060Z           "complete": true,
2026-06-07T22:53:32.2353149Z           "evidence": [
2026-06-07T22:53:32.2353230Z             {
2026-06-07T22:53:32.2353355Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.2353446Z               "line": 459
2026-06-07T22:53:32.2353535Z             },
2026-06-07T22:53:32.2353621Z             {
2026-06-07T22:53:32.2353737Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T22:53:32.2353826Z               "line": 28
2026-06-07T22:53:32.2353912Z             }
2026-06-07T22:53:32.2354004Z           ]
2026-06-07T22:53:32.2354085Z         },
2026-06-07T22:53:32.2354174Z         "int": {
2026-06-07T22:53:32.2354265Z           "complete": false,
2026-06-07T22:53:32.2354357Z           "evidence": []
2026-06-07T22:53:32.2354442Z         },
2026-06-07T22:53:32.2354531Z         "unit": {
2026-06-07T22:53:32.2354626Z           "complete": true,
2026-06-07T22:53:32.2354712Z           "evidence": [
2026-06-07T22:53:32.2354801Z             {
2026-06-07T22:53:32.2354914Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T22:53:32.2355001Z               "line": 229
2026-06-07T22:53:32.2355087Z             }
2026-06-07T22:53:32.2355168Z           ]
2026-06-07T22:53:32.2355254Z         }
2026-06-07T22:53:32.2355340Z       }
2026-06-07T22:53:32.2355426Z     },
2026-06-07T22:53:32.2355511Z     {
2026-06-07T22:53:32.2355617Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-07T22:53:32.2355749Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-07T22:53:32.2355849Z       "requiredStages": [],
2026-06-07T22:53:32.2355937Z       "stages": {
2026-06-07T22:53:32.2356017Z         "doc": {
2026-06-07T22:53:32.2356117Z           "complete": false,
2026-06-07T22:53:32.2356208Z           "evidence": []
2026-06-07T22:53:32.2356289Z         },
2026-06-07T22:53:32.2356384Z         "impl": {
2026-06-07T22:53:32.2356474Z           "complete": false,
2026-06-07T22:53:32.2356566Z           "evidence": []
2026-06-07T22:53:32.2356651Z         },
2026-06-07T22:53:32.2356736Z         "int": {
2026-06-07T22:53:32.2356827Z           "complete": false,
2026-06-07T22:53:32.2356914Z           "evidence": []
2026-06-07T22:53:32.2357088Z         },
2026-06-07T22:53:32.2357178Z         "unit": {
2026-06-07T22:53:32.2357396Z           "complete": false,
2026-06-07T22:53:32.2357486Z           "evidence": []
2026-06-07T22:53:32.2357573Z         }
2026-06-07T22:53:32.2357654Z       }
2026-06-07T22:53:32.2357739Z     },
2026-06-07T22:53:32.2357825Z     {
2026-06-07T22:53:32.2358054Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-07T22:53:32.2358203Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-07T22:53:32.2358297Z       "requiredStages": [
2026-06-07T22:53:32.2358387Z         "impl",
2026-06-07T22:53:32.2358474Z         "unit"
2026-06-07T22:53:32.2358556Z       ],
2026-06-07T22:53:32.2358646Z       "stages": {
2026-06-07T22:53:32.2358726Z         "doc": {
2026-06-07T22:53:32.2358822Z           "complete": false,
2026-06-07T22:53:32.2358913Z           "evidence": []
2026-06-07T22:53:32.2358998Z         },
2026-06-07T22:53:32.2359084Z         "impl": {
2026-06-07T22:53:32.2359176Z           "complete": true,
2026-06-07T22:53:32.2359265Z           "evidence": [
2026-06-07T22:53:32.2359346Z             {
2026-06-07T22:53:32.2359466Z               "path": "crates/spt-live/src/turn.rs",
2026-06-07T22:53:32.2359552Z               "line": 19
2026-06-07T22:53:32.2359636Z             },
2026-06-07T22:53:32.2359721Z             {
2026-06-07T22:53:32.2359841Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T22:53:32.2359934Z               "line": 347
2026-06-07T22:53:32.2360015Z             },
2026-06-07T22:53:32.2360101Z             {
2026-06-07T22:53:32.2360212Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T22:53:32.2360301Z               "line": 383
2026-06-07T22:53:32.2360387Z             },
2026-06-07T22:53:32.2360469Z             {
2026-06-07T22:53:32.2360583Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-07T22:53:32.2360668Z               "line": 15
2026-06-07T22:53:32.2360755Z             },
2026-06-07T22:53:32.2360835Z             {
2026-06-07T22:53:32.2360949Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-07T22:53:32.2361046Z               "line": 48
2026-06-07T22:53:32.2361127Z             },
2026-06-07T22:53:32.2361212Z             {
2026-06-07T22:53:32.2361321Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-07T22:53:32.2361409Z               "line": 119
2026-06-07T22:53:32.2361503Z             },
2026-06-07T22:53:32.2361588Z             {
2026-06-07T22:53:32.2361690Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2361780Z               "line": 2428
2026-06-07T22:53:32.2361865Z             }
2026-06-07T22:53:32.2361942Z           ]
2026-06-07T22:53:32.2362028Z         },
2026-06-07T22:53:32.2362109Z         "int": {
2026-06-07T22:53:32.2362198Z           "complete": false,
2026-06-07T22:53:32.2362290Z           "evidence": []
2026-06-07T22:53:32.2362372Z         },
2026-06-07T22:53:32.2362456Z         "unit": {
2026-06-07T22:53:32.2362541Z           "complete": true,
2026-06-07T22:53:32.2362632Z           "evidence": [
2026-06-07T22:53:32.2362714Z             {
2026-06-07T22:53:32.2362841Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T22:53:32.2362927Z               "line": 496
2026-06-07T22:53:32.2363014Z             },
2026-06-07T22:53:32.2363100Z             {
2026-06-07T22:53:32.2363208Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-07T22:53:32.2363310Z               "line": 165
2026-06-07T22:53:32.2363390Z             },
2026-06-07T22:53:32.2363475Z             {
2026-06-07T22:53:32.2363586Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-07T22:53:32.2363672Z               "line": 175
2026-06-07T22:53:32.2363758Z             }
2026-06-07T22:53:32.2363838Z           ]
2026-06-07T22:53:32.2363924Z         }
2026-06-07T22:53:32.2364001Z       }
2026-06-07T22:53:32.2364086Z     },
2026-06-07T22:53:32.2364167Z     {
2026-06-07T22:53:32.2364278Z       "id": "REQ-HAZARD-SUDO-SECURE-PATH",
2026-06-07T22:53:32.2365129Z       "title": "Elevation guidance on Unix names the binary's ABSOLUTE path under sudo (a user-local install ~/.local/bin · ~/.cargo/bin is not on sudo's secure_path, so bare `sudo spt` dies 'command not found'); gated commands auto-elevate on an interactive TTY, else print the runnable hint (5.10)",
2026-06-07T22:53:32.2365305Z       "requiredStages": [
2026-06-07T22:53:32.2365465Z         "impl",
2026-06-07T22:53:32.2367630Z         "unit"
2026-06-07T22:53:32.2367739Z       ],
2026-06-07T22:53:32.2367834Z       "stages": {
2026-06-07T22:53:32.2367918Z         "doc": {
2026-06-07T22:53:32.2368013Z           "complete": false,
2026-06-07T22:53:32.2368104Z           "evidence": []
2026-06-07T22:53:32.2368190Z         },
2026-06-07T22:53:32.2368280Z         "impl": {
2026-06-07T22:53:32.2368376Z           "complete": true,
2026-06-07T22:53:32.2368462Z           "evidence": [
2026-06-07T22:53:32.2368543Z             {
2026-06-07T22:53:32.2368656Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2368748Z               "line": 2186
2026-06-07T22:53:32.2368834Z             },
2026-06-07T22:53:32.2368919Z             {
2026-06-07T22:53:32.2369068Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T22:53:32.2369158Z               "line": 103
2026-06-07T22:53:32.2369239Z             },
2026-06-07T22:53:32.2369325Z             {
2026-06-07T22:53:32.2369430Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T22:53:32.2369524Z               "line": 135
2026-06-07T22:53:32.2369610Z             }
2026-06-07T22:53:32.2369693Z           ]
2026-06-07T22:53:32.2369774Z         },
2026-06-07T22:53:32.2369858Z         "int": {
2026-06-07T22:53:32.2369949Z           "complete": false,
2026-06-07T22:53:32.2370041Z           "evidence": []
2026-06-07T22:53:32.2370126Z         },
2026-06-07T22:53:32.2370210Z         "unit": {
2026-06-07T22:53:32.2370300Z           "complete": true,
2026-06-07T22:53:32.2370387Z           "evidence": [
2026-06-07T22:53:32.2370471Z             {
2026-06-07T22:53:32.2370580Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T22:53:32.2370666Z               "line": 258
2026-06-07T22:53:32.2370763Z             },
2026-06-07T22:53:32.2370842Z             {
2026-06-07T22:53:32.2370947Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T22:53:32.2371034Z               "line": 283
2026-06-07T22:53:32.2371120Z             },
2026-06-07T22:53:32.2371204Z             {
2026-06-07T22:53:32.2371310Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T22:53:32.2371400Z               "line": 296
2026-06-07T22:53:32.2371481Z             },
2026-06-07T22:53:32.2371562Z             {
2026-06-07T22:53:32.2371668Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T22:53:32.2371748Z               "line": 308
2026-06-07T22:53:32.2371833Z             }
2026-06-07T22:53:32.2371911Z           ]
2026-06-07T22:53:32.2371997Z         }
2026-06-07T22:53:32.2372077Z       }
2026-06-07T22:53:32.2372158Z     },
2026-06-07T22:53:32.2372241Z     {
2026-06-07T22:53:32.2372345Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-07T22:53:32.2372502Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-07T22:53:32.2372603Z       "requiredStages": [
2026-06-07T22:53:32.2372692Z         "impl",
2026-06-07T22:53:32.2372773Z         "unit"
2026-06-07T22:53:32.2372855Z       ],
2026-06-07T22:53:32.2372942Z       "stages": {
2026-06-07T22:53:32.2373030Z         "doc": {
2026-06-07T22:53:32.2373125Z           "complete": false,
2026-06-07T22:53:32.2373211Z           "evidence": []
2026-06-07T22:53:32.2373302Z         },
2026-06-07T22:53:32.2373387Z         "impl": {
2026-06-07T22:53:32.2373477Z           "complete": true,
2026-06-07T22:53:32.2373570Z           "evidence": [
2026-06-07T22:53:32.2373651Z             {
2026-06-07T22:53:32.2373773Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T22:53:32.2373860Z               "line": 35
2026-06-07T22:53:32.2373941Z             }
2026-06-07T22:53:32.2374026Z           ]
2026-06-07T22:53:32.2374107Z         },
2026-06-07T22:53:32.2374190Z         "int": {
2026-06-07T22:53:32.2374279Z           "complete": false,
2026-06-07T22:53:32.2374514Z           "evidence": []
2026-06-07T22:53:32.2374598Z         },
2026-06-07T22:53:32.2374684Z         "unit": {
2026-06-07T22:53:32.2374780Z           "complete": true,
2026-06-07T22:53:32.2374867Z           "evidence": [
2026-06-07T22:53:32.2375037Z             {
2026-06-07T22:53:32.2375153Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-07T22:53:32.2375247Z               "line": 220
2026-06-07T22:53:32.2375328Z             }
2026-06-07T22:53:32.2375415Z           ]
2026-06-07T22:53:32.2375497Z         }
2026-06-07T22:53:32.2375576Z       }
2026-06-07T22:53:32.2375661Z     },
2026-06-07T22:53:32.2375742Z     {
2026-06-07T22:53:32.2375851Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-07T22:53:32.2376102Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-07T22:53:32.2376198Z       "requiredStages": [
2026-06-07T22:53:32.2376283Z         "impl",
2026-06-07T22:53:32.2376374Z         "unit"
2026-06-07T22:53:32.2376460Z       ],
2026-06-07T22:53:32.2376541Z       "stages": {
2026-06-07T22:53:32.2376626Z         "doc": {
2026-06-07T22:53:32.2376713Z           "complete": false,
2026-06-07T22:53:32.2376803Z           "evidence": []
2026-06-07T22:53:32.2376898Z         },
2026-06-07T22:53:32.2377071Z         "impl": {
2026-06-07T22:53:32.2377165Z           "complete": true,
2026-06-07T22:53:32.2377251Z           "evidence": [
2026-06-07T22:53:32.2377337Z             {
2026-06-07T22:53:32.2377456Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.2377547Z               "line": 397
2026-06-07T22:53:32.2377632Z             },
2026-06-07T22:53:32.2377715Z             {
2026-06-07T22:53:32.2377828Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.2377914Z               "line": 396
2026-06-07T22:53:32.2377996Z             },
2026-06-07T22:53:32.2378086Z             {
2026-06-07T22:53:32.2378199Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T22:53:32.2378299Z               "line": 156
2026-06-07T22:53:32.2378380Z             }
2026-06-07T22:53:32.2378459Z           ]
2026-06-07T22:53:32.2378545Z         },
2026-06-07T22:53:32.2378630Z         "int": {
2026-06-07T22:53:32.2378727Z           "complete": false,
2026-06-07T22:53:32.2378816Z           "evidence": []
2026-06-07T22:53:32.2378897Z         },
2026-06-07T22:53:32.2378979Z         "unit": {
2026-06-07T22:53:32.2379070Z           "complete": true,
2026-06-07T22:53:32.2379155Z           "evidence": [
2026-06-07T22:53:32.2379241Z             {
2026-06-07T22:53:32.2379351Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.2379437Z               "line": 797
2026-06-07T22:53:32.2379522Z             },
2026-06-07T22:53:32.2379604Z             {
2026-06-07T22:53:32.2379718Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.2379804Z               "line": 811
2026-06-07T22:53:32.2379885Z             },
2026-06-07T22:53:32.2379976Z             {
2026-06-07T22:53:32.2380085Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.2380170Z               "line": 830
2026-06-07T22:53:32.2380253Z             },
2026-06-07T22:53:32.2380334Z             {
2026-06-07T22:53:32.2380457Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.2380543Z               "line": 847
2026-06-07T22:53:32.2380625Z             },
2026-06-07T22:53:32.2380705Z             {
2026-06-07T22:53:32.2380828Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-07T22:53:32.2380914Z               "line": 430
2026-06-07T22:53:32.2380998Z             }
2026-06-07T22:53:32.2381078Z           ]
2026-06-07T22:53:32.2381159Z         }
2026-06-07T22:53:32.2381236Z       }
2026-06-07T22:53:32.2381318Z     },
2026-06-07T22:53:32.2381398Z     {
2026-06-07T22:53:32.2381502Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-07T22:53:32.2382289Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-07T22:53:32.2382495Z       "requiredStages": [
2026-06-07T22:53:32.2382666Z         "doc",
2026-06-07T22:53:32.2382752Z         "impl",
2026-06-07T22:53:32.2382834Z         "unit"
2026-06-07T22:53:32.2382919Z       ],
2026-06-07T22:53:32.2383005Z       "stages": {
2026-06-07T22:53:32.2383086Z         "doc": {
2026-06-07T22:53:32.2383177Z           "complete": true,
2026-06-07T22:53:32.2383267Z           "evidence": [
2026-06-07T22:53:32.2383348Z             {
2026-06-07T22:53:32.2383454Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-07T22:53:32.2383544Z               "line": 311
2026-06-07T22:53:32.2383628Z             }
2026-06-07T22:53:32.2383709Z           ]
2026-06-07T22:53:32.2383790Z         },
2026-06-07T22:53:32.2383876Z         "impl": {
2026-06-07T22:53:32.2383966Z           "complete": true,
2026-06-07T22:53:32.2384062Z           "evidence": [
2026-06-07T22:53:32.2384149Z             {
2026-06-07T22:53:32.2384262Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-07T22:53:32.2384353Z               "line": 85
2026-06-07T22:53:32.2384440Z             },
2026-06-07T22:53:32.2384525Z             {
2026-06-07T22:53:32.2384639Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-07T22:53:32.2384721Z               "line": 99
2026-06-07T22:53:32.2384807Z             },
2026-06-07T22:53:32.2384888Z             {
2026-06-07T22:53:32.2385006Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T22:53:32.2385093Z               "line": 55
2026-06-07T22:53:32.2385178Z             },
2026-06-07T22:53:32.2385259Z             {
2026-06-07T22:53:32.2385369Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T22:53:32.2385460Z               "line": 31
2026-06-07T22:53:32.2385540Z             },
2026-06-07T22:53:32.2385626Z             {
2026-06-07T22:53:32.2385742Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T22:53:32.2385830Z               "line": 187
2026-06-07T22:53:32.2385912Z             },
2026-06-07T22:53:32.2385995Z             {
2026-06-07T22:53:32.2386122Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T22:53:32.2386207Z               "line": 92
2026-06-07T22:53:32.2386287Z             },
2026-06-07T22:53:32.2386369Z             {
2026-06-07T22:53:32.2386486Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.2386576Z               "line": 29
2026-06-07T22:53:32.2386657Z             },
2026-06-07T22:53:32.2386739Z             {
2026-06-07T22:53:32.2386853Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.2387030Z               "line": 104
2026-06-07T22:53:32.2387120Z             },
2026-06-07T22:53:32.2387201Z             {
2026-06-07T22:53:32.2387326Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2387420Z               "line": 168
2026-06-07T22:53:32.2387501Z             },
2026-06-07T22:53:32.2387583Z             {
2026-06-07T22:53:32.2387697Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-07T22:53:32.2387787Z               "line": 28
2026-06-07T22:53:32.2387873Z             },
2026-06-07T22:53:32.2387956Z             {
2026-06-07T22:53:32.2388068Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-07T22:53:32.2388155Z               "line": 74
2026-06-07T22:53:32.2388237Z             },
2026-06-07T22:53:32.2388322Z             {
2026-06-07T22:53:32.2388431Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T22:53:32.2388522Z               "line": 40
2026-06-07T22:53:32.2388605Z             },
2026-06-07T22:53:32.2388684Z             {
2026-06-07T22:53:32.2388797Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T22:53:32.2388883Z               "line": 181
2026-06-07T22:53:32.2388964Z             },
2026-06-07T22:53:32.2389166Z             {
2026-06-07T22:53:32.2389277Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-07T22:53:32.2389362Z               "line": 70
2026-06-07T22:53:32.2389443Z             },
2026-06-07T22:53:32.2389524Z             {
2026-06-07T22:53:32.2389739Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-07T22:53:32.2389825Z               "line": 223
2026-06-07T22:53:32.2389911Z             },
2026-06-07T22:53:32.2389987Z             {
2026-06-07T22:53:32.2390101Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-07T22:53:32.2390193Z               "line": 37
2026-06-07T22:53:32.2390273Z             },
2026-06-07T22:53:32.2390359Z             {
2026-06-07T22:53:32.2390469Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-07T22:53:32.2390560Z               "line": 38
2026-06-07T22:53:32.2390640Z             },
2026-06-07T22:53:32.2390726Z             {
2026-06-07T22:53:32.2390837Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-07T22:53:32.2390931Z               "line": 36
2026-06-07T22:53:32.2391012Z             },
2026-06-07T22:53:32.2391094Z             {
2026-06-07T22:53:32.2391204Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-07T22:53:32.2391293Z               "line": 40
2026-06-07T22:53:32.2391383Z             }
2026-06-07T22:53:32.2391465Z           ]
2026-06-07T22:53:32.2391549Z         },
2026-06-07T22:53:32.2391634Z         "int": {
2026-06-07T22:53:32.2391724Z           "complete": false,
2026-06-07T22:53:32.2391815Z           "evidence": []
2026-06-07T22:53:32.2391897Z         },
2026-06-07T22:53:32.2391977Z         "unit": {
2026-06-07T22:53:32.2392067Z           "complete": true,
2026-06-07T22:53:32.2392154Z           "evidence": [
2026-06-07T22:53:32.2392240Z             {
2026-06-07T22:53:32.2392358Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T22:53:32.2392445Z               "line": 195
2026-06-07T22:53:32.2392530Z             },
2026-06-07T22:53:32.2392611Z             {
2026-06-07T22:53:32.2392741Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-07T22:53:32.2392831Z               "line": 122
2026-06-07T22:53:32.2392916Z             },
2026-06-07T22:53:32.2392997Z             {
2026-06-07T22:53:32.2393122Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-07T22:53:32.2393216Z               "line": 674
2026-06-07T22:53:32.2393302Z             },
2026-06-07T22:53:32.2393385Z             {
2026-06-07T22:53:32.2393498Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-07T22:53:32.2393589Z               "line": 215
2026-06-07T22:53:32.2393675Z             },
2026-06-07T22:53:32.2393756Z             {
2026-06-07T22:53:32.2393873Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-07T22:53:32.2393961Z               "line": 156
2026-06-07T22:53:32.2394043Z             },
2026-06-07T22:53:32.2394132Z             {
2026-06-07T22:53:32.2394245Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-07T22:53:32.2394332Z               "line": 112
2026-06-07T22:53:32.2394408Z             },
2026-06-07T22:53:32.2394503Z             {
2026-06-07T22:53:32.2394637Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-07T22:53:32.2394723Z               "line": 157
2026-06-07T22:53:32.2394799Z             },
2026-06-07T22:53:32.2394884Z             {
2026-06-07T22:53:32.2395005Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-07T22:53:32.2395095Z               "line": 215
2026-06-07T22:53:32.2395175Z             },
2026-06-07T22:53:32.2395256Z             {
2026-06-07T22:53:32.2395376Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-07T22:53:32.2395476Z               "line": 140
2026-06-07T22:53:32.2395562Z             },
2026-06-07T22:53:32.2395639Z             {
2026-06-07T22:53:32.2395752Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-07T22:53:32.2395843Z               "line": 162
2026-06-07T22:53:32.2395935Z             }
2026-06-07T22:53:32.2396162Z           ]
2026-06-07T22:53:32.2396245Z         }
2026-06-07T22:53:32.2396331Z       }
2026-06-07T22:53:32.2396414Z     },
2026-06-07T22:53:32.2396496Z     {
2026-06-07T22:53:32.2396612Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-07T22:53:32.2396772Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-07T22:53:32.2397037Z       "requiredStages": [
2026-06-07T22:53:32.2397122Z         "impl",
2026-06-07T22:53:32.2397208Z         "unit"
2026-06-07T22:53:32.2397294Z       ],
2026-06-07T22:53:32.2397380Z       "stages": {
2026-06-07T22:53:32.2397465Z         "doc": {
2026-06-07T22:53:32.2397557Z           "complete": false,
2026-06-07T22:53:32.2397647Z           "evidence": []
2026-06-07T22:53:32.2397736Z         },
2026-06-07T22:53:32.2397823Z         "impl": {
2026-06-07T22:53:32.2397915Z           "complete": true,
2026-06-07T22:53:32.2398005Z           "evidence": [
2026-06-07T22:53:32.2398085Z             {
2026-06-07T22:53:32.2398206Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T22:53:32.2398300Z               "line": 95
2026-06-07T22:53:32.2398385Z             },
2026-06-07T22:53:32.2398472Z             {
2026-06-07T22:53:32.2398582Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2398681Z               "line": 102
2026-06-07T22:53:32.2398762Z             }
2026-06-07T22:53:32.2398850Z           ]
2026-06-07T22:53:32.2398934Z         },
2026-06-07T22:53:32.2399015Z         "int": {
2026-06-07T22:53:32.2399112Z           "complete": false,
2026-06-07T22:53:32.2399202Z           "evidence": []
2026-06-07T22:53:32.2399286Z         },
2026-06-07T22:53:32.2399371Z         "unit": {
2026-06-07T22:53:32.2399462Z           "complete": true,
2026-06-07T22:53:32.2399547Z           "evidence": [
2026-06-07T22:53:32.2399632Z             {
2026-06-07T22:53:32.2399746Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T22:53:32.2399833Z               "line": 250
2026-06-07T22:53:32.2399918Z             },
2026-06-07T22:53:32.2400008Z             {
2026-06-07T22:53:32.2400119Z               "path": "crates/spt-store/src/proc.rs",
2026-06-07T22:53:32.2400209Z               "line": 198
2026-06-07T22:53:32.2400294Z             },
2026-06-07T22:53:32.2400385Z             {
2026-06-07T22:53:32.2400500Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2400590Z               "line": 442
2026-06-07T22:53:32.2400675Z             },
2026-06-07T22:53:32.2400758Z             {
2026-06-07T22:53:32.2400867Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2400957Z               "line": 475
2026-06-07T22:53:32.2401044Z             }
2026-06-07T22:53:32.2401125Z           ]
2026-06-07T22:53:32.2401215Z         }
2026-06-07T22:53:32.2401296Z       }
2026-06-07T22:53:32.2401383Z     },
2026-06-07T22:53:32.2401468Z     {
2026-06-07T22:53:32.2401572Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-07T22:53:32.2401750Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-07T22:53:32.2401853Z       "requiredStages": [
2026-06-07T22:53:32.2401943Z         "impl",
2026-06-07T22:53:32.2402029Z         "unit"
2026-06-07T22:53:32.2402118Z       ],
2026-06-07T22:53:32.2402204Z       "stages": {
2026-06-07T22:53:32.2402289Z         "doc": {
2026-06-07T22:53:32.2402390Z           "complete": false,
2026-06-07T22:53:32.2402480Z           "evidence": []
2026-06-07T22:53:32.2402565Z         },
2026-06-07T22:53:32.2402651Z         "impl": {
2026-06-07T22:53:32.2402743Z           "complete": true,
2026-06-07T22:53:32.2402832Z           "evidence": [
2026-06-07T22:53:32.2402918Z             {
2026-06-07T22:53:32.2403028Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2403119Z               "line": 234
2026-06-07T22:53:32.2403199Z             },
2026-06-07T22:53:32.2403281Z             {
2026-06-07T22:53:32.2403400Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2403490Z               "line": 279
2026-06-07T22:53:32.2403572Z             },
2026-06-07T22:53:32.2403767Z             {
2026-06-07T22:53:32.2403872Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2403964Z               "line": 291
2026-06-07T22:53:32.2404044Z             }
2026-06-07T22:53:32.2404130Z           ]
2026-06-07T22:53:32.2404302Z         },
2026-06-07T22:53:32.2404387Z         "int": {
2026-06-07T22:53:32.2404478Z           "complete": false,
2026-06-07T22:53:32.2404570Z           "evidence": []
2026-06-07T22:53:32.2404655Z         },
2026-06-07T22:53:32.2404735Z         "unit": {
2026-06-07T22:53:32.2404829Z           "complete": true,
2026-06-07T22:53:32.2404916Z           "evidence": [
2026-06-07T22:53:32.2405001Z             {
2026-06-07T22:53:32.2405110Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2405202Z               "line": 427
2026-06-07T22:53:32.2405288Z             },
2026-06-07T22:53:32.2405369Z             {
2026-06-07T22:53:32.2405483Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2405579Z               "line": 471
2026-06-07T22:53:32.2405660Z             }
2026-06-07T22:53:32.2405745Z           ]
2026-06-07T22:53:32.2405831Z         }
2026-06-07T22:53:32.2405918Z       }
2026-06-07T22:53:32.2405998Z     },
2026-06-07T22:53:32.2406092Z     {
2026-06-07T22:53:32.2406185Z       "id": "REQ-INFRA-1",
2026-06-07T22:53:32.2406356Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-07T22:53:32.2406451Z       "requiredStages": [],
2026-06-07T22:53:32.2406538Z       "stages": {
2026-06-07T22:53:32.2406627Z         "doc": {
2026-06-07T22:53:32.2406717Z           "complete": false,
2026-06-07T22:53:32.2406805Z           "evidence": []
2026-06-07T22:53:32.2406891Z         },
2026-06-07T22:53:32.2407061Z         "impl": {
2026-06-07T22:53:32.2407158Z           "complete": false,
2026-06-07T22:53:32.2407243Z           "evidence": []
2026-06-07T22:53:32.2407332Z         },
2026-06-07T22:53:32.2407412Z         "int": {
2026-06-07T22:53:32.2407518Z           "complete": false,
2026-06-07T22:53:32.2407611Z           "evidence": []
2026-06-07T22:53:32.2407692Z         },
2026-06-07T22:53:32.2407778Z         "unit": {
2026-06-07T22:53:32.2407868Z           "complete": false,
2026-06-07T22:53:32.2407959Z           "evidence": []
2026-06-07T22:53:32.2408049Z         }
2026-06-07T22:53:32.2408132Z       }
2026-06-07T22:53:32.2408217Z     },
2026-06-07T22:53:32.2408297Z     {
2026-06-07T22:53:32.2408393Z       "id": "REQ-INST-1",
2026-06-07T22:53:32.2408540Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-07T22:53:32.2408640Z       "requiredStages": [],
2026-06-07T22:53:32.2408723Z       "stages": {
2026-06-07T22:53:32.2408808Z         "doc": {
2026-06-07T22:53:32.2408903Z           "complete": false,
2026-06-07T22:53:32.2408989Z           "evidence": []
2026-06-07T22:53:32.2409076Z         },
2026-06-07T22:53:32.2409161Z         "impl": {
2026-06-07T22:53:32.2409251Z           "complete": false,
2026-06-07T22:53:32.2409337Z           "evidence": []
2026-06-07T22:53:32.2409429Z         },
2026-06-07T22:53:32.2409517Z         "int": {
2026-06-07T22:53:32.2409609Z           "complete": false,
2026-06-07T22:53:32.2409700Z           "evidence": []
2026-06-07T22:53:32.2409786Z         },
2026-06-07T22:53:32.2409870Z         "unit": {
2026-06-07T22:53:32.2409960Z           "complete": false,
2026-06-07T22:53:32.2410051Z           "evidence": []
2026-06-07T22:53:32.2410140Z         }
2026-06-07T22:53:32.2410220Z       }
2026-06-07T22:53:32.2410301Z     },
2026-06-07T22:53:32.2410383Z     {
2026-06-07T22:53:32.2410474Z       "id": "REQ-INST-10",
2026-06-07T22:53:32.2410669Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-07T22:53:32.2410764Z       "requiredStages": [
2026-06-07T22:53:32.2410849Z         "impl",
2026-06-07T22:53:32.2410931Z         "unit"
2026-06-07T22:53:32.2411018Z       ],
2026-06-07T22:53:32.2411098Z       "stages": {
2026-06-07T22:53:32.2411183Z         "doc": {
2026-06-07T22:53:32.2411375Z           "complete": false,
2026-06-07T22:53:32.2411465Z           "evidence": []
2026-06-07T22:53:32.2411546Z         },
2026-06-07T22:53:32.2411628Z         "impl": {
2026-06-07T22:53:32.2411727Z           "complete": true,
2026-06-07T22:53:32.2411914Z           "evidence": [
2026-06-07T22:53:32.2412000Z             {
2026-06-07T22:53:32.2412127Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2412214Z               "line": 527
2026-06-07T22:53:32.2412301Z             },
2026-06-07T22:53:32.2412385Z             {
2026-06-07T22:53:32.2412503Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2412589Z               "line": 604
2026-06-07T22:53:32.2412674Z             },
2026-06-07T22:53:32.2412754Z             {
2026-06-07T22:53:32.2412868Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-07T22:53:32.2412960Z               "line": 13
2026-06-07T22:53:32.2413045Z             },
2026-06-07T22:53:32.2413130Z             {
2026-06-07T22:53:32.2413246Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-07T22:53:32.2413336Z               "line": 67
2026-06-07T22:53:32.2413421Z             },
2026-06-07T22:53:32.2413503Z             {
2026-06-07T22:53:32.2413598Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T22:53:32.2413698Z               "line": 18
2026-06-07T22:53:32.2413783Z             },
2026-06-07T22:53:32.2413871Z             {
2026-06-07T22:53:32.2413984Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T22:53:32.2414074Z               "line": 432
2026-06-07T22:53:32.2414185Z             }
2026-06-07T22:53:32.2414280Z           ]
2026-06-07T22:53:32.2414356Z         },
2026-06-07T22:53:32.2414457Z         "int": {
2026-06-07T22:53:32.2414552Z           "complete": false,
2026-06-07T22:53:32.2414642Z           "evidence": []
2026-06-07T22:53:32.2414728Z         },
2026-06-07T22:53:32.2414810Z         "unit": {
2026-06-07T22:53:32.2414905Z           "complete": true,
2026-06-07T22:53:32.2414999Z           "evidence": [
2026-06-07T22:53:32.2415105Z             {
2026-06-07T22:53:32.2415219Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2415304Z               "line": 810
2026-06-07T22:53:32.2415399Z             },
2026-06-07T22:53:32.2415529Z             {
2026-06-07T22:53:32.2415694Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2415800Z               "line": 1080
2026-06-07T22:53:32.2415886Z             },
2026-06-07T22:53:32.2415967Z             {
2026-06-07T22:53:32.2416076Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2416163Z               "line": 1091
2026-06-07T22:53:32.2416248Z             },
2026-06-07T22:53:32.2416333Z             {
2026-06-07T22:53:32.2416449Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2416548Z               "line": 1107
2026-06-07T22:53:32.2416634Z             },
2026-06-07T22:53:32.2416725Z             {
2026-06-07T22:53:32.2416844Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2416935Z               "line": 1123
2026-06-07T22:53:32.2417107Z             },
2026-06-07T22:53:32.2417192Z             {
2026-06-07T22:53:32.2417306Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2417403Z               "line": 1145
2026-06-07T22:53:32.2417488Z             },
2026-06-07T22:53:32.2417568Z             {
2026-06-07T22:53:32.2417685Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2417775Z               "line": 1450
2026-06-07T22:53:32.2417859Z             },
2026-06-07T22:53:32.2417944Z             {
2026-06-07T22:53:32.2418054Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-07T22:53:32.2418148Z               "line": 130
2026-06-07T22:53:32.2418237Z             },
2026-06-07T22:53:32.2418319Z             {
2026-06-07T22:53:32.2418429Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-07T22:53:32.2418514Z               "line": 167
2026-06-07T22:53:32.2418710Z             },
2026-06-07T22:53:32.2418792Z             {
2026-06-07T22:53:32.2418905Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-07T22:53:32.2418997Z               "line": 175
2026-06-07T22:53:32.2419167Z             },
2026-06-07T22:53:32.2419253Z             {
2026-06-07T22:53:32.2419368Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-07T22:53:32.2419459Z               "line": 183
2026-06-07T22:53:32.2419544Z             },
2026-06-07T22:53:32.2419626Z             {
2026-06-07T22:53:32.2419735Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T22:53:32.2419825Z               "line": 882
2026-06-07T22:53:32.2419917Z             }
2026-06-07T22:53:32.2419998Z           ]
2026-06-07T22:53:32.2420082Z         }
2026-06-07T22:53:32.2420154Z       }
2026-06-07T22:53:32.2420237Z     },
2026-06-07T22:53:32.2420332Z     {
2026-06-07T22:53:32.2420420Z       "id": "REQ-INST-11",
2026-06-07T22:53:32.2420635Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-07T22:53:32.2420738Z       "requiredStages": [
2026-06-07T22:53:32.2420823Z         "impl",
2026-06-07T22:53:32.2420904Z         "unit"
2026-06-07T22:53:32.2420991Z       ],
2026-06-07T22:53:32.2421090Z       "stages": {
2026-06-07T22:53:32.2421171Z         "doc": {
2026-06-07T22:53:32.2421268Z           "complete": false,
2026-06-07T22:53:32.2421354Z           "evidence": []
2026-06-07T22:53:32.2421438Z         },
2026-06-07T22:53:32.2421520Z         "impl": {
2026-06-07T22:53:32.2421615Z           "complete": true,
2026-06-07T22:53:32.2421710Z           "evidence": [
2026-06-07T22:53:32.2421801Z             {
2026-06-07T22:53:32.2421921Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2422011Z               "line": 393
2026-06-07T22:53:32.2422097Z             },
2026-06-07T22:53:32.2422174Z             {
2026-06-07T22:53:32.2422301Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.2422397Z               "line": 265
2026-06-07T22:53:32.2422484Z             },
2026-06-07T22:53:32.2422565Z             {
2026-06-07T22:53:32.2422678Z               "path": "crates/spt-store/src/rename.rs",
2026-06-07T22:53:32.2422769Z               "line": 59
2026-06-07T22:53:32.2422856Z             },
2026-06-07T22:53:32.2422940Z             {
2026-06-07T22:53:32.2423049Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2423140Z               "line": 3309
2026-06-07T22:53:32.2423225Z             },
2026-06-07T22:53:32.2423304Z             {
2026-06-07T22:53:32.2423409Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2423501Z               "line": 4408
2026-06-07T22:53:32.2423582Z             }
2026-06-07T22:53:32.2423671Z           ]
2026-06-07T22:53:32.2423758Z         },
2026-06-07T22:53:32.2423839Z         "int": {
2026-06-07T22:53:32.2423934Z           "complete": false,
2026-06-07T22:53:32.2424024Z           "evidence": []
2026-06-07T22:53:32.2424116Z         },
2026-06-07T22:53:32.2424201Z         "unit": {
2026-06-07T22:53:32.2424296Z           "complete": true,
2026-06-07T22:53:32.2424387Z           "evidence": [
2026-06-07T22:53:32.2424478Z             {
2026-06-07T22:53:32.2424592Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2424687Z               "line": 1250
2026-06-07T22:53:32.2424770Z             },
2026-06-07T22:53:32.2424854Z             {
2026-06-07T22:53:32.2424978Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2425065Z               "line": 1283
2026-06-07T22:53:32.2425150Z             },
2026-06-07T22:53:32.2425230Z             {
2026-06-07T22:53:32.2425356Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.2425446Z               "line": 495
2026-06-07T22:53:32.2425530Z             },
2026-06-07T22:53:32.2425617Z             {
2026-06-07T22:53:32.2425728Z               "path": "crates/spt-store/src/rename.rs",
2026-06-07T22:53:32.2425897Z               "line": 160
2026-06-07T22:53:32.2425978Z             },
2026-06-07T22:53:32.2426060Z             {
2026-06-07T22:53:32.2426169Z               "path": "crates/spt-store/src/rename.rs",
2026-06-07T22:53:32.2426263Z               "line": 190
2026-06-07T22:53:32.2426413Z             },
2026-06-07T22:53:32.2426498Z             {
2026-06-07T22:53:32.2426612Z               "path": "crates/spt-store/src/rename.rs",
2026-06-07T22:53:32.2426699Z               "line": 225
2026-06-07T22:53:32.2426785Z             },
2026-06-07T22:53:32.2426870Z             {
2026-06-07T22:53:32.2427047Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2427142Z               "line": 4648
2026-06-07T22:53:32.2427218Z             }
2026-06-07T22:53:32.2427300Z           ]
2026-06-07T22:53:32.2427381Z         }
2026-06-07T22:53:32.2427466Z       }
2026-06-07T22:53:32.2427547Z     },
2026-06-07T22:53:32.2427630Z     {
2026-06-07T22:53:32.2427724Z       "id": "REQ-INST-12",
2026-06-07T22:53:32.2428011Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-07T22:53:32.2428109Z       "requiredStages": [
2026-06-07T22:53:32.2428191Z         "impl",
2026-06-07T22:53:32.2428278Z         "unit"
2026-06-07T22:53:32.2428368Z       ],
2026-06-07T22:53:32.2428452Z       "stages": {
2026-06-07T22:53:32.2428538Z         "doc": {
2026-06-07T22:53:32.2428628Z           "complete": false,
2026-06-07T22:53:32.2428717Z           "evidence": []
2026-06-07T22:53:32.2428797Z         },
2026-06-07T22:53:32.2428884Z         "impl": {
2026-06-07T22:53:32.2428971Z           "complete": true,
2026-06-07T22:53:32.2429065Z           "evidence": [
2026-06-07T22:53:32.2429150Z             {
2026-06-07T22:53:32.2429266Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2429357Z               "line": 445
2026-06-07T22:53:32.2429436Z             },
2026-06-07T22:53:32.2429518Z             {
2026-06-07T22:53:32.2429633Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2429728Z               "line": 538
2026-06-07T22:53:32.2429809Z             },
2026-06-07T22:53:32.2429890Z             {
2026-06-07T22:53:32.2430005Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2430094Z               "line": 618
2026-06-07T22:53:32.2430182Z             },
2026-06-07T22:53:32.2430262Z             {
2026-06-07T22:53:32.2430372Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T22:53:32.2432356Z               "line": 87
2026-06-07T22:53:32.2432462Z             },
2026-06-07T22:53:32.2432547Z             {
2026-06-07T22:53:32.2432676Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T22:53:32.2432777Z               "line": 216
2026-06-07T22:53:32.2432861Z             },
2026-06-07T22:53:32.2432942Z             {
2026-06-07T22:53:32.2433073Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-07T22:53:32.2433162Z               "line": 135
2026-06-07T22:53:32.2433257Z             }
2026-06-07T22:53:32.2433339Z           ]
2026-06-07T22:53:32.2433426Z         },
2026-06-07T22:53:32.2433510Z         "int": {
2026-06-07T22:53:32.2433605Z           "complete": false,
2026-06-07T22:53:32.2433695Z           "evidence": []
2026-06-07T22:53:32.2433785Z         },
2026-06-07T22:53:32.2433869Z         "unit": {
2026-06-07T22:53:32.2433959Z           "complete": true,
2026-06-07T22:53:32.2434051Z           "evidence": [
2026-06-07T22:53:32.2434133Z             {
2026-06-07T22:53:32.2434255Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2434341Z               "line": 1325
2026-06-07T22:53:32.2434427Z             },
2026-06-07T22:53:32.2434508Z             {
2026-06-07T22:53:32.2434623Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2434714Z               "line": 1348
2026-06-07T22:53:32.2434800Z             },
2026-06-07T22:53:32.2434880Z             {
2026-06-07T22:53:32.2434996Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2435209Z               "line": 1385
2026-06-07T22:53:32.2435291Z             },
2026-06-07T22:53:32.2435372Z             {
2026-06-07T22:53:32.2435495Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T22:53:32.2435673Z               "line": 350
2026-06-07T22:53:32.2435757Z             },
2026-06-07T22:53:32.2435838Z             {
2026-06-07T22:53:32.2435959Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-07T22:53:32.2436053Z               "line": 172
2026-06-07T22:53:32.2436134Z             },
2026-06-07T22:53:32.2436216Z             {
2026-06-07T22:53:32.2436331Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-07T22:53:32.2436415Z               "line": 193
2026-06-07T22:53:32.2436500Z             },
2026-06-07T22:53:32.2436581Z             {
2026-06-07T22:53:32.2436696Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-07T22:53:32.2436782Z               "line": 219
2026-06-07T22:53:32.2436877Z             }
2026-06-07T22:53:32.2437053Z           ]
2026-06-07T22:53:32.2437134Z         }
2026-06-07T22:53:32.2437216Z       }
2026-06-07T22:53:32.2437292Z     },
2026-06-07T22:53:32.2437373Z     {
2026-06-07T22:53:32.2437463Z       "id": "REQ-INST-13",
2026-06-07T22:53:32.2437659Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-07T22:53:32.2437754Z       "requiredStages": [
2026-06-07T22:53:32.2437840Z         "impl",
2026-06-07T22:53:32.2437922Z         "unit"
2026-06-07T22:53:32.2438007Z       ],
2026-06-07T22:53:32.2438093Z       "stages": {
2026-06-07T22:53:32.2438175Z         "doc": {
2026-06-07T22:53:32.2438270Z           "complete": false,
2026-06-07T22:53:32.2438360Z           "evidence": []
2026-06-07T22:53:32.2438441Z         },
2026-06-07T22:53:32.2438524Z         "impl": {
2026-06-07T22:53:32.2438617Z           "complete": true,
2026-06-07T22:53:32.2438703Z           "evidence": [
2026-06-07T22:53:32.2438785Z             {
2026-06-07T22:53:32.2438909Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T22:53:32.2438998Z               "line": 98
2026-06-07T22:53:32.2439083Z             },
2026-06-07T22:53:32.2439165Z             {
2026-06-07T22:53:32.2439282Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-07T22:53:32.2439376Z               "line": 158
2026-06-07T22:53:32.2439458Z             }
2026-06-07T22:53:32.2439540Z           ]
2026-06-07T22:53:32.2439625Z         },
2026-06-07T22:53:32.2439705Z         "int": {
2026-06-07T22:53:32.2439802Z           "complete": false,
2026-06-07T22:53:32.2439888Z           "evidence": []
2026-06-07T22:53:32.2439968Z         },
2026-06-07T22:53:32.2440054Z         "unit": {
2026-06-07T22:53:32.2440145Z           "complete": true,
2026-06-07T22:53:32.2440230Z           "evidence": [
2026-06-07T22:53:32.2440312Z             {
2026-06-07T22:53:32.2440432Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-07T22:53:32.2440517Z               "line": 248
2026-06-07T22:53:32.2440612Z             },
2026-06-07T22:53:32.2440694Z             {
2026-06-07T22:53:32.2440813Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-07T22:53:32.2440898Z               "line": 266
2026-06-07T22:53:32.2440979Z             }
2026-06-07T22:53:32.2441071Z           ]
2026-06-07T22:53:32.2441151Z         }
2026-06-07T22:53:32.2441237Z       }
2026-06-07T22:53:32.2441318Z     },
2026-06-07T22:53:32.2441395Z     {
2026-06-07T22:53:32.2441494Z       "id": "REQ-INST-14",
2026-06-07T22:53:32.2441854Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-07T22:53:32.2441948Z       "requiredStages": [
2026-06-07T22:53:32.2442030Z         "doc",
2026-06-07T22:53:32.2442116Z         "impl",
2026-06-07T22:53:32.2442197Z         "unit"
2026-06-07T22:53:32.2442277Z       ],
2026-06-07T22:53:32.2442364Z       "stages": {
2026-06-07T22:53:32.2442444Z         "doc": {
2026-06-07T22:53:32.2442640Z           "complete": true,
2026-06-07T22:53:32.2442726Z           "evidence": [
2026-06-07T22:53:32.2442812Z             {
2026-06-07T22:53:32.2442902Z               "path": "CONTEXT.md",
2026-06-07T22:53:32.2442993Z               "line": 425
2026-06-07T22:53:32.2443179Z             },
2026-06-07T22:53:32.2443260Z             {
2026-06-07T22:53:32.2443361Z               "path": "docs/STORAGE.md",
2026-06-07T22:53:32.2443445Z               "line": 49
2026-06-07T22:53:32.2443536Z             }
2026-06-07T22:53:32.2443619Z           ]
2026-06-07T22:53:32.2443695Z         },
2026-06-07T22:53:32.2443779Z         "impl": {
2026-06-07T22:53:32.2443870Z           "complete": true,
2026-06-07T22:53:32.2443957Z           "evidence": [
2026-06-07T22:53:32.2444038Z             {
2026-06-07T22:53:32.2444165Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2444251Z               "line": 317
2026-06-07T22:53:32.2444331Z             },
2026-06-07T22:53:32.2444415Z             {
2026-06-07T22:53:32.2444534Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2444626Z               "line": 257
2026-06-07T22:53:32.2444707Z             },
2026-06-07T22:53:32.2444791Z             {
2026-06-07T22:53:32.2444906Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.2444992Z               "line": 211
2026-06-07T22:53:32.2445078Z             },
2026-06-07T22:53:32.2445159Z             {
2026-06-07T22:53:32.2445265Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2445350Z               "line": 973
2026-06-07T22:53:32.2445430Z             }
2026-06-07T22:53:32.2445512Z           ]
2026-06-07T22:53:32.2445594Z         },
2026-06-07T22:53:32.2445679Z         "int": {
2026-06-07T22:53:32.2445769Z           "complete": false,
2026-06-07T22:53:32.2445856Z           "evidence": []
2026-06-07T22:53:32.2445937Z         },
2026-06-07T22:53:32.2446027Z         "unit": {
2026-06-07T22:53:32.2446117Z           "complete": true,
2026-06-07T22:53:32.2446209Z           "evidence": [
2026-06-07T22:53:32.2446293Z             {
2026-06-07T22:53:32.2446413Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2446500Z               "line": 847
2026-06-07T22:53:32.2446585Z             },
2026-06-07T22:53:32.2446670Z             {
2026-06-07T22:53:32.2446781Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2446868Z               "line": 822
2026-06-07T22:53:32.2447037Z             },
2026-06-07T22:53:32.2447118Z             {
2026-06-07T22:53:32.2447237Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2447322Z               "line": 1021
2026-06-07T22:53:32.2447403Z             },
2026-06-07T22:53:32.2447486Z             {
2026-06-07T22:53:32.2447600Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.2447685Z               "line": 463
2026-06-07T22:53:32.2447771Z             },
2026-06-07T22:53:32.2447852Z             {
2026-06-07T22:53:32.2447961Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2448057Z               "line": 4724
2026-06-07T22:53:32.2448139Z             }
2026-06-07T22:53:32.2448224Z           ]
2026-06-07T22:53:32.2448305Z         }
2026-06-07T22:53:32.2448396Z       }
2026-06-07T22:53:32.2448477Z     },
2026-06-07T22:53:32.2448562Z     {
2026-06-07T22:53:32.2448653Z       "id": "REQ-INST-15",
2026-06-07T22:53:32.2449336Z       "title": "Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)",
2026-06-07T22:53:32.2449431Z       "requiredStages": [
2026-06-07T22:53:32.2449515Z         "doc",
2026-06-07T22:53:32.2449596Z         "impl",
2026-06-07T22:53:32.2449677Z         "unit"
2026-06-07T22:53:32.2449763Z       ],
2026-06-07T22:53:32.2449847Z       "stages": {
2026-06-07T22:53:32.2450033Z         "doc": {
2026-06-07T22:53:32.2450124Z           "complete": true,
2026-06-07T22:53:32.2450214Z           "evidence": [
2026-06-07T22:53:32.2450295Z             {
2026-06-07T22:53:32.2450467Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-07T22:53:32.2450643Z               "line": 3
2026-06-07T22:53:32.2450724Z             }
2026-06-07T22:53:32.2450805Z           ]
2026-06-07T22:53:32.2450886Z         },
2026-06-07T22:53:32.2450968Z         "impl": {
2026-06-07T22:53:32.2451058Z           "complete": true,
2026-06-07T22:53:32.2451143Z           "evidence": [
2026-06-07T22:53:32.2451224Z             {
2026-06-07T22:53:32.2451349Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2451434Z               "line": 266
2026-06-07T22:53:32.2451516Z             },
2026-06-07T22:53:32.2451597Z             {
2026-06-07T22:53:32.2451706Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T22:53:32.2451792Z               "line": 60
2026-06-07T22:53:32.2451883Z             },
2026-06-07T22:53:32.2451993Z             {
2026-06-07T22:53:32.2452148Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.2452234Z               "line": 336
2026-06-07T22:53:32.2452329Z             },
2026-06-07T22:53:32.2452409Z             {
2026-06-07T22:53:32.2452527Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.2452614Z               "line": 385
2026-06-07T22:53:32.2452695Z             },
2026-06-07T22:53:32.2452780Z             {
2026-06-07T22:53:32.2452885Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T22:53:32.2452972Z               "line": 19
2026-06-07T22:53:32.2453052Z             },
2026-06-07T22:53:32.2453137Z             {
2026-06-07T22:53:32.2453244Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T22:53:32.2453329Z               "line": 70
2026-06-07T22:53:32.2453410Z             },
2026-06-07T22:53:32.2453491Z             {
2026-06-07T22:53:32.2453606Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T22:53:32.2453692Z               "line": 96
2026-06-07T22:53:32.2453777Z             },
2026-06-07T22:53:32.2453859Z             {
2026-06-07T22:53:32.2453963Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T22:53:32.2454063Z               "line": 121
2026-06-07T22:53:32.2454144Z             },
2026-06-07T22:53:32.2454231Z             {
2026-06-07T22:53:32.2454334Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T22:53:32.2454421Z               "line": 172
2026-06-07T22:53:32.2454508Z             },
2026-06-07T22:53:32.2454588Z             {
2026-06-07T22:53:32.2454696Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2454781Z               "line": 143
2026-06-07T22:53:32.2454863Z             },
2026-06-07T22:53:32.2454943Z             {
2026-06-07T22:53:32.2455051Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2455138Z               "line": 865
2026-06-07T22:53:32.2455224Z             }
2026-06-07T22:53:32.2455318Z           ]
2026-06-07T22:53:32.2455399Z         },
2026-06-07T22:53:32.2455481Z         "int": {
2026-06-07T22:53:32.2455572Z           "complete": false,
2026-06-07T22:53:32.2455661Z           "evidence": []
2026-06-07T22:53:32.2455748Z         },
2026-06-07T22:53:32.2455829Z         "unit": {
2026-06-07T22:53:32.2455920Z           "complete": true,
2026-06-07T22:53:32.2456005Z           "evidence": [
2026-06-07T22:53:32.2456087Z             {
2026-06-07T22:53:32.2456205Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.2456296Z               "line": 545
2026-06-07T22:53:32.2456377Z             },
2026-06-07T22:53:32.2456459Z             {
2026-06-07T22:53:32.2456577Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.2456663Z               "line": 606
2026-06-07T22:53:32.2456745Z             },
2026-06-07T22:53:32.2456826Z             {
2026-06-07T22:53:32.2456935Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T22:53:32.2457230Z               "line": 213
2026-06-07T22:53:32.2457312Z             },
2026-06-07T22:53:32.2457394Z             {
2026-06-07T22:53:32.2457498Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T22:53:32.2457673Z               "line": 249
2026-06-07T22:53:32.2457755Z             },
2026-06-07T22:53:32.2457836Z             {
2026-06-07T22:53:32.2457944Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T22:53:32.2458031Z               "line": 262
2026-06-07T22:53:32.2458112Z             },
2026-06-07T22:53:32.2458192Z             {
2026-06-07T22:53:32.2458297Z               "path": "crates/spt-store/src/home.rs",
2026-06-07T22:53:32.2458389Z               "line": 338
2026-06-07T22:53:32.2458470Z             },
2026-06-07T22:53:32.2458555Z             {
2026-06-07T22:53:32.2458666Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2458751Z               "line": 496
2026-06-07T22:53:32.2458832Z             },
2026-06-07T22:53:32.2458927Z             {
2026-06-07T22:53:32.2459033Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2459117Z               "line": 4661
2026-06-07T22:53:32.2459204Z             },
2026-06-07T22:53:32.2459281Z             {
2026-06-07T22:53:32.2459390Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2459480Z               "line": 6027
2026-06-07T22:53:32.2459561Z             }
2026-06-07T22:53:32.2459644Z           ]
2026-06-07T22:53:32.2459723Z         }
2026-06-07T22:53:32.2459804Z       }
2026-06-07T22:53:32.2459886Z     },
2026-06-07T22:53:32.2459968Z     {
2026-06-07T22:53:32.2460061Z       "id": "REQ-INST-2",
2026-06-07T22:53:32.2460184Z       "title": "Per-node files, synced Psyche mind",
2026-06-07T22:53:32.2460280Z       "requiredStages": [
2026-06-07T22:53:32.2460360Z         "impl",
2026-06-07T22:53:32.2460445Z         "unit"
2026-06-07T22:53:32.2460525Z       ],
2026-06-07T22:53:32.2460613Z       "stages": {
2026-06-07T22:53:32.2460703Z         "doc": {
2026-06-07T22:53:32.2460798Z           "complete": false,
2026-06-07T22:53:32.2460884Z           "evidence": []
2026-06-07T22:53:32.2460965Z         },
2026-06-07T22:53:32.2461050Z         "impl": {
2026-06-07T22:53:32.2461141Z           "complete": true,
2026-06-07T22:53:32.2461238Z           "evidence": [
2026-06-07T22:53:32.2461317Z             {
2026-06-07T22:53:32.2461436Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.2461523Z               "line": 86
2026-06-07T22:53:32.2461604Z             },
2026-06-07T22:53:32.2461685Z             {
2026-06-07T22:53:32.2461794Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T22:53:32.2461882Z               "line": 28
2026-06-07T22:53:32.2461961Z             },
2026-06-07T22:53:32.2462047Z             {
2026-06-07T22:53:32.2462153Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T22:53:32.2462243Z               "line": 74
2026-06-07T22:53:32.2462323Z             },
2026-06-07T22:53:32.2462414Z             {
2026-06-07T22:53:32.2462521Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T22:53:32.2462605Z               "line": 96
2026-06-07T22:53:32.2462690Z             },
2026-06-07T22:53:32.2462770Z             {
2026-06-07T22:53:32.2462880Z               "path": "crates/spt-live/src/resume.rs",
2026-06-07T22:53:32.2462964Z               "line": 81
2026-06-07T22:53:32.2463049Z             },
2026-06-07T22:53:32.2463131Z             {
2026-06-07T22:53:32.2463241Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-07T22:53:32.2463326Z               "line": 118
2026-06-07T22:53:32.2463412Z             }
2026-06-07T22:53:32.2463489Z           ]
2026-06-07T22:53:32.2463575Z         },
2026-06-07T22:53:32.2463650Z         "int": {
2026-06-07T22:53:32.2463746Z           "complete": false,
2026-06-07T22:53:32.2463837Z           "evidence": []
2026-06-07T22:53:32.2463923Z         },
2026-06-07T22:53:32.2464008Z         "unit": {
2026-06-07T22:53:32.2464095Z           "complete": true,
2026-06-07T22:53:32.2464256Z           "evidence": [
2026-06-07T22:53:32.2464337Z             {
2026-06-07T22:53:32.2464452Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-07T22:53:32.2464538Z               "line": 212
2026-06-07T22:53:32.2464685Z             },
2026-06-07T22:53:32.2464772Z             {
2026-06-07T22:53:32.2464876Z               "path": "crates/spt-live/src/resume.rs",
2026-06-07T22:53:32.2464962Z               "line": 258
2026-06-07T22:53:32.2465044Z             }
2026-06-07T22:53:32.2465130Z           ]
2026-06-07T22:53:32.2465214Z         }
2026-06-07T22:53:32.2465294Z       }
2026-06-07T22:53:32.2465381Z     },
2026-06-07T22:53:32.2465456Z     {
2026-06-07T22:53:32.2465550Z       "id": "REQ-INST-3",
2026-06-07T22:53:32.2465688Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-07T22:53:32.2465784Z       "requiredStages": [
2026-06-07T22:53:32.2465864Z         "doc",
2026-06-07T22:53:32.2465950Z         "impl",
2026-06-07T22:53:32.2466041Z         "unit"
2026-06-07T22:53:32.2466127Z       ],
2026-06-07T22:53:32.2466217Z       "stages": {
2026-06-07T22:53:32.2466298Z         "doc": {
2026-06-07T22:53:32.2466389Z           "complete": true,
2026-06-07T22:53:32.2466475Z           "evidence": [
2026-06-07T22:53:32.2466560Z             {
2026-06-07T22:53:32.2466671Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-07T22:53:32.2466756Z               "line": 3
2026-06-07T22:53:32.2466837Z             }
2026-06-07T22:53:32.2466918Z           ]
2026-06-07T22:53:32.2467090Z         },
2026-06-07T22:53:32.2467176Z         "impl": {
2026-06-07T22:53:32.2467267Z           "complete": true,
2026-06-07T22:53:32.2467362Z           "evidence": [
2026-06-07T22:53:32.2467442Z             {
2026-06-07T22:53:32.2467562Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-07T22:53:32.2467649Z               "line": 70
2026-06-07T22:53:32.2467729Z             },
2026-06-07T22:53:32.2467809Z             {
2026-06-07T22:53:32.2467940Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T22:53:32.2468025Z               "line": 440
2026-06-07T22:53:32.2468109Z             },
2026-06-07T22:53:32.2468190Z             {
2026-06-07T22:53:32.2468306Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.2468405Z               "line": 202
2026-06-07T22:53:32.2468486Z             },
2026-06-07T22:53:32.2468567Z             {
2026-06-07T22:53:32.2468682Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.2468771Z               "line": 291
2026-06-07T22:53:32.2468852Z             },
2026-06-07T22:53:32.2468935Z             {
2026-06-07T22:53:32.2469049Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.2469139Z               "line": 325
2026-06-07T22:53:32.2469226Z             },
2026-06-07T22:53:32.2469316Z             {
2026-06-07T22:53:32.2469434Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.2469526Z               "line": 300
2026-06-07T22:53:32.2469617Z             },
2026-06-07T22:53:32.2469702Z             {
2026-06-07T22:53:32.2469826Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2469922Z               "line": 194
2026-06-07T22:53:32.2470016Z             },
2026-06-07T22:53:32.2470098Z             {
2026-06-07T22:53:32.2470223Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2470307Z               "line": 303
2026-06-07T22:53:32.2470393Z             },
2026-06-07T22:53:32.2470476Z             {
2026-06-07T22:53:32.2470589Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2470683Z               "line": 45
2026-06-07T22:53:32.2470763Z             },
2026-06-07T22:53:32.2470850Z             {
2026-06-07T22:53:32.2470967Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2471057Z               "line": 114
2026-06-07T22:53:32.2471143Z             },
2026-06-07T22:53:32.2471220Z             {
2026-06-07T22:53:32.2471453Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2471539Z               "line": 152
2026-06-07T22:53:32.2471629Z             },
2026-06-07T22:53:32.2471715Z             {
2026-06-07T22:53:32.2471831Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2472011Z               "line": 168
2026-06-07T22:53:32.2472088Z             },
2026-06-07T22:53:32.2472173Z             {
2026-06-07T22:53:32.2472287Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2472374Z               "line": 178
2026-06-07T22:53:32.2472456Z             },
2026-06-07T22:53:32.2472535Z             {
2026-06-07T22:53:32.2472655Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2472742Z               "line": 210
2026-06-07T22:53:32.2472827Z             },
2026-06-07T22:53:32.2472908Z             {
2026-06-07T22:53:32.2473028Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2473123Z               "line": 287
2026-06-07T22:53:32.2473207Z             },
2026-06-07T22:53:32.2473297Z             {
2026-06-07T22:53:32.2473403Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2473492Z               "line": 311
2026-06-07T22:53:32.2473581Z             },
2026-06-07T22:53:32.2473662Z             {
2026-06-07T22:53:32.2473768Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2473857Z               "line": 387
2026-06-07T22:53:32.2473952Z             },
2026-06-07T22:53:32.2474049Z             {
2026-06-07T22:53:32.2474158Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2474244Z               "line": 436
2026-06-07T22:53:32.2474374Z             },
2026-06-07T22:53:32.2474459Z             {
2026-06-07T22:53:32.2474573Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-07T22:53:32.2474665Z               "line": 37
2026-06-07T22:53:32.2474749Z             },
2026-06-07T22:53:32.2474859Z             {
2026-06-07T22:53:32.2474975Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2475083Z               "line": 62
2026-06-07T22:53:32.2475207Z             },
2026-06-07T22:53:32.2475284Z             {
2026-06-07T22:53:32.2475412Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.2475517Z               "line": 190
2026-06-07T22:53:32.2475604Z             },
2026-06-07T22:53:32.2475685Z             {
2026-06-07T22:53:32.2475793Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2475893Z               "line": 1121
2026-06-07T22:53:32.2475974Z             }
2026-06-07T22:53:32.2476058Z           ]
2026-06-07T22:53:32.2476138Z         },
2026-06-07T22:53:32.2476224Z         "int": {
2026-06-07T22:53:32.2476316Z           "complete": false,
2026-06-07T22:53:32.2476406Z           "evidence": []
2026-06-07T22:53:32.2476495Z         },
2026-06-07T22:53:32.2476577Z         "unit": {
2026-06-07T22:53:32.2476673Z           "complete": true,
2026-06-07T22:53:32.2476768Z           "evidence": [
2026-06-07T22:53:32.2476849Z             {
2026-06-07T22:53:32.2477054Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T22:53:32.2477144Z               "line": 360
2026-06-07T22:53:32.2477231Z             },
2026-06-07T22:53:32.2477316Z             {
2026-06-07T22:53:32.2477440Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.2477532Z               "line": 664
2026-06-07T22:53:32.2477617Z             },
2026-06-07T22:53:32.2477697Z             {
2026-06-07T22:53:32.2477813Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.2477904Z               "line": 721
2026-06-07T22:53:32.2477988Z             },
2026-06-07T22:53:32.2478070Z             {
2026-06-07T22:53:32.2478195Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2478285Z               "line": 948
2026-06-07T22:53:32.2478369Z             },
2026-06-07T22:53:32.2478456Z             {
2026-06-07T22:53:32.2478683Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2478774Z               "line": 1039
2026-06-07T22:53:32.2478856Z             },
2026-06-07T22:53:32.2478937Z             {
2026-06-07T22:53:32.2479151Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2479237Z               "line": 447
2026-06-07T22:53:32.2479323Z             },
2026-06-07T22:53:32.2479413Z             {
2026-06-07T22:53:32.2479524Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2479619Z               "line": 483
2026-06-07T22:53:32.2479699Z             },
2026-06-07T22:53:32.2479786Z             {
2026-06-07T22:53:32.2479899Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2479990Z               "line": 538
2026-06-07T22:53:32.2480071Z             },
2026-06-07T22:53:32.2480158Z             {
2026-06-07T22:53:32.2480272Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2480372Z               "line": 695
2026-06-07T22:53:32.2480454Z             },
2026-06-07T22:53:32.2480543Z             {
2026-06-07T22:53:32.2480653Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2480745Z               "line": 929
2026-06-07T22:53:32.2480835Z             },
2026-06-07T22:53:32.2480919Z             {
2026-06-07T22:53:32.2481031Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2481121Z               "line": 943
2026-06-07T22:53:32.2481215Z             },
2026-06-07T22:53:32.2481296Z             {
2026-06-07T22:53:32.2481415Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2481504Z               "line": 1061
2026-06-07T22:53:32.2481593Z             },
2026-06-07T22:53:32.2481680Z             {
2026-06-07T22:53:32.2481799Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.2481889Z               "line": 413
2026-06-07T22:53:32.2481975Z             },
2026-06-07T22:53:32.2482067Z             {
2026-06-07T22:53:32.2482171Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2482261Z               "line": 4685
2026-06-07T22:53:32.2482343Z             }
2026-06-07T22:53:32.2482428Z           ]
2026-06-07T22:53:32.2482519Z         }
2026-06-07T22:53:32.2482604Z       }
2026-06-07T22:53:32.2482687Z     },
2026-06-07T22:53:32.2482771Z     {
2026-06-07T22:53:32.2482861Z       "id": "REQ-INST-4",
2026-06-07T22:53:32.2483030Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-07T22:53:32.2483196Z       "requiredStages": [
2026-06-07T22:53:32.2483278Z         "impl",
2026-06-07T22:53:32.2483359Z         "unit"
2026-06-07T22:53:32.2483453Z       ],
2026-06-07T22:53:32.2483535Z       "stages": {
2026-06-07T22:53:32.2483626Z         "doc": {
2026-06-07T22:53:32.2483725Z           "complete": false,
2026-06-07T22:53:32.2483820Z           "evidence": []
2026-06-07T22:53:32.2483924Z         },
2026-06-07T22:53:32.2484019Z         "impl": {
2026-06-07T22:53:32.2484132Z           "complete": true,
2026-06-07T22:53:32.2484227Z           "evidence": [
2026-06-07T22:53:32.2484299Z             {
2026-06-07T22:53:32.2484408Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.2484508Z               "line": 292
2026-06-07T22:53:32.2484605Z             },
2026-06-07T22:53:32.2484705Z             {
2026-06-07T22:53:32.2484818Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2484925Z               "line": 202
2026-06-07T22:53:32.2485029Z             },
2026-06-07T22:53:32.2485109Z             {
2026-06-07T22:53:32.2485230Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2485324Z               "line": 234
2026-06-07T22:53:32.2485405Z             },
2026-06-07T22:53:32.2485530Z             {
2026-06-07T22:53:32.2485643Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2485729Z               "line": 274
2026-06-07T22:53:32.2485815Z             }
2026-06-07T22:53:32.2486140Z           ]
2026-06-07T22:53:32.2486222Z         },
2026-06-07T22:53:32.2486324Z         "int": {
2026-06-07T22:53:32.2486419Z           "complete": false,
2026-06-07T22:53:32.2486506Z           "evidence": []
2026-06-07T22:53:32.2486661Z         },
2026-06-07T22:53:32.2486746Z         "unit": {
2026-06-07T22:53:32.2486837Z           "complete": true,
2026-06-07T22:53:32.2486928Z           "evidence": [
2026-06-07T22:53:32.2487094Z             {
2026-06-07T22:53:32.2487219Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.2487309Z               "line": 716
2026-06-07T22:53:32.2487394Z             },
2026-06-07T22:53:32.2487477Z             {
2026-06-07T22:53:32.2487590Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2487681Z               "line": 559
2026-06-07T22:53:32.2487767Z             },
2026-06-07T22:53:32.2487848Z             {
2026-06-07T22:53:32.2487962Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2488053Z               "line": 666
2026-06-07T22:53:32.2488125Z             },
2026-06-07T22:53:32.2488220Z             {
2026-06-07T22:53:32.2488334Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2488421Z               "line": 748
2026-06-07T22:53:32.2488520Z             }
2026-06-07T22:53:32.2488601Z           ]
2026-06-07T22:53:32.2488687Z         }
2026-06-07T22:53:32.2488769Z       }
2026-06-07T22:53:32.2488858Z     },
2026-06-07T22:53:32.2488944Z     {
2026-06-07T22:53:32.2489036Z       "id": "REQ-INST-5",
2026-06-07T22:53:32.2489211Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-07T22:53:32.2489301Z       "requiredStages": [
2026-06-07T22:53:32.2489392Z         "impl",
2026-06-07T22:53:32.2489478Z         "unit",
2026-06-07T22:53:32.2489563Z         "int"
2026-06-07T22:53:32.2489654Z       ],
2026-06-07T22:53:32.2489736Z       "stages": {
2026-06-07T22:53:32.2489822Z         "doc": {
2026-06-07T22:53:32.2489920Z           "complete": false,
2026-06-07T22:53:32.2490012Z           "evidence": []
2026-06-07T22:53:32.2490098Z         },
2026-06-07T22:53:32.2490188Z         "impl": {
2026-06-07T22:53:32.2490283Z           "complete": true,
2026-06-07T22:53:32.2490370Z           "evidence": [
2026-06-07T22:53:32.2490455Z             {
2026-06-07T22:53:32.2490578Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.2490666Z               "line": 39
2026-06-07T22:53:32.2490751Z             },
2026-06-07T22:53:32.2490837Z             {
2026-06-07T22:53:32.2490951Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T22:53:32.2491042Z               "line": 68
2026-06-07T22:53:32.2491131Z             },
2026-06-07T22:53:32.2491213Z             {
2026-06-07T22:53:32.2491324Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T22:53:32.2491414Z               "line": 97
2026-06-07T22:53:32.2491509Z             },
2026-06-07T22:53:32.2491591Z             {
2026-06-07T22:53:32.2491710Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T22:53:32.2491798Z               "line": 180
2026-06-07T22:53:32.2491884Z             },
2026-06-07T22:53:32.2491965Z             {
2026-06-07T22:53:32.2492078Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T22:53:32.2492158Z               "line": 311
2026-06-07T22:53:32.2492245Z             }
2026-06-07T22:53:32.2492326Z           ]
2026-06-07T22:53:32.2492407Z         },
2026-06-07T22:53:32.2492492Z         "int": {
2026-06-07T22:53:32.2492583Z           "complete": true,
2026-06-07T22:53:32.2492674Z           "evidence": [
2026-06-07T22:53:32.2492759Z             {
2026-06-07T22:53:32.2492884Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T22:53:32.2492970Z               "line": 146
2026-06-07T22:53:32.2493055Z             },
2026-06-07T22:53:32.2493136Z             {
2026-06-07T22:53:32.2493256Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-07T22:53:32.2493346Z               "line": 102
2026-06-07T22:53:32.2493537Z             },
2026-06-07T22:53:32.2493618Z             {
2026-06-07T22:53:32.2493737Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2493828Z               "line": 635
2026-06-07T22:53:32.2494003Z             },
2026-06-07T22:53:32.2494090Z             {
2026-06-07T22:53:32.2494206Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2494295Z               "line": 972
2026-06-07T22:53:32.2494380Z             }
2026-06-07T22:53:32.2494460Z           ]
2026-06-07T22:53:32.2494547Z         },
2026-06-07T22:53:32.2494631Z         "unit": {
2026-06-07T22:53:32.2494720Z           "complete": true,
2026-06-07T22:53:32.2494811Z           "evidence": [
2026-06-07T22:53:32.2494898Z             {
2026-06-07T22:53:32.2495006Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T22:53:32.2495097Z               "line": 520
2026-06-07T22:53:32.2495179Z             },
2026-06-07T22:53:32.2495265Z             {
2026-06-07T22:53:32.2495383Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T22:53:32.2497516Z               "line": 563
2026-06-07T22:53:32.2497625Z             },
2026-06-07T22:53:32.2497712Z             {
2026-06-07T22:53:32.2497845Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-07T22:53:32.2497954Z               "line": 210
2026-06-07T22:53:32.2498037Z             }
2026-06-07T22:53:32.2498122Z           ]
2026-06-07T22:53:32.2498207Z         }
2026-06-07T22:53:32.2498293Z       }
2026-06-07T22:53:32.2498375Z     },
2026-06-07T22:53:32.2498460Z     {
2026-06-07T22:53:32.2498551Z       "id": "REQ-INST-6",
2026-06-07T22:53:32.2498737Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-07T22:53:32.2498837Z       "requiredStages": [
2026-06-07T22:53:32.2498923Z         "impl",
2026-06-07T22:53:32.2499010Z         "unit",
2026-06-07T22:53:32.2499094Z         "int"
2026-06-07T22:53:32.2499180Z       ],
2026-06-07T22:53:32.2499276Z       "stages": {
2026-06-07T22:53:32.2499362Z         "doc": {
2026-06-07T22:53:32.2499456Z           "complete": true,
2026-06-07T22:53:32.2499543Z           "evidence": [
2026-06-07T22:53:32.2499625Z             {
2026-06-07T22:53:32.2499733Z               "path": "docs/DEFERRED.md",
2026-06-07T22:53:32.2499827Z               "line": 13
2026-06-07T22:53:32.2499913Z             }
2026-06-07T22:53:32.2499996Z           ]
2026-06-07T22:53:32.2500081Z         },
2026-06-07T22:53:32.2500166Z         "impl": {
2026-06-07T22:53:32.2500257Z           "complete": true,
2026-06-07T22:53:32.2500348Z           "evidence": [
2026-06-07T22:53:32.2500428Z             {
2026-06-07T22:53:32.2500552Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T22:53:32.2500639Z               "line": 377
2026-06-07T22:53:32.2500729Z             },
2026-06-07T22:53:32.2500814Z             {
2026-06-07T22:53:32.2500930Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-07T22:53:32.2501020Z               "line": 27
2026-06-07T22:53:32.2501110Z             },
2026-06-07T22:53:32.2501191Z             {
2026-06-07T22:53:32.2501311Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-07T22:53:32.2501401Z               "line": 73
2026-06-07T22:53:32.2501497Z             },
2026-06-07T22:53:32.2501574Z             {
2026-06-07T22:53:32.2501692Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-07T22:53:32.2501778Z               "line": 182
2026-06-07T22:53:32.2501861Z             },
2026-06-07T22:53:32.2501946Z             {
2026-06-07T22:53:32.2502059Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2502151Z               "line": 424
2026-06-07T22:53:32.2502232Z             },
2026-06-07T22:53:32.2502316Z             {
2026-06-07T22:53:32.2502430Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-07T22:53:32.2502521Z               "line": 31
2026-06-07T22:53:32.2502601Z             },
2026-06-07T22:53:32.2502685Z             {
2026-06-07T22:53:32.2502953Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T22:53:32.2503038Z               "line": 182
2026-06-07T22:53:32.2503124Z             },
2026-06-07T22:53:32.2503206Z             {
2026-06-07T22:53:32.2503320Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T22:53:32.2503502Z               "line": 81
2026-06-07T22:53:32.2503586Z             },
2026-06-07T22:53:32.2503672Z             {
2026-06-07T22:53:32.2503778Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2503873Z               "line": 1122
2026-06-07T22:53:32.2503959Z             },
2026-06-07T22:53:32.2504040Z             {
2026-06-07T22:53:32.2504150Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T22:53:32.2504239Z               "line": 179
2026-06-07T22:53:32.2504325Z             },
2026-06-07T22:53:32.2504408Z             {
2026-06-07T22:53:32.2504512Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T22:53:32.2504598Z               "line": 215
2026-06-07T22:53:32.2504698Z             }
2026-06-07T22:53:32.2504780Z           ]
2026-06-07T22:53:32.2504864Z         },
2026-06-07T22:53:32.2504949Z         "int": {
2026-06-07T22:53:32.2505045Z           "complete": true,
2026-06-07T22:53:32.2505135Z           "evidence": [
2026-06-07T22:53:32.2505223Z             {
2026-06-07T22:53:32.2505352Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2505448Z               "line": 649
2026-06-07T22:53:32.2505529Z             },
2026-06-07T22:53:32.2505614Z             {
2026-06-07T22:53:32.2505730Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2505820Z               "line": 1017
2026-06-07T22:53:32.2505904Z             },
2026-06-07T22:53:32.2505991Z             {
2026-06-07T22:53:32.2506097Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T22:53:32.2506187Z               "line": 712
2026-06-07T22:53:32.2506268Z             }
2026-06-07T22:53:32.2506350Z           ]
2026-06-07T22:53:32.2506439Z         },
2026-06-07T22:53:32.2506525Z         "unit": {
2026-06-07T22:53:32.2506616Z           "complete": true,
2026-06-07T22:53:32.2506707Z           "evidence": [
2026-06-07T22:53:32.2506792Z             {
2026-06-07T22:53:32.2506912Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T22:53:32.2507097Z               "line": 620
2026-06-07T22:53:32.2507178Z             },
2026-06-07T22:53:32.2507260Z             {
2026-06-07T22:53:32.2507380Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2507468Z               "line": 897
2026-06-07T22:53:32.2507553Z             },
2026-06-07T22:53:32.2507640Z             {
2026-06-07T22:53:32.2507748Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-07T22:53:32.2507838Z               "line": 66
2026-06-07T22:53:32.2507919Z             },
2026-06-07T22:53:32.2508005Z             {
2026-06-07T22:53:32.2508119Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T22:53:32.2508209Z               "line": 272
2026-06-07T22:53:32.2508301Z             },
2026-06-07T22:53:32.2508382Z             {
2026-06-07T22:53:32.2508496Z               "path": "crates/spt/src/api/worker.rs",
2026-06-07T22:53:32.2508582Z               "line": 201
2026-06-07T22:53:32.2508673Z             }
2026-06-07T22:53:32.2508758Z           ]
2026-06-07T22:53:32.2508839Z         }
2026-06-07T22:53:32.2508926Z       }
2026-06-07T22:53:32.2509006Z     },
2026-06-07T22:53:32.2509091Z     {
2026-06-07T22:53:32.2509178Z       "id": "REQ-INST-7",
2026-06-07T22:53:32.2509316Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-07T22:53:32.2509411Z       "requiredStages": [
2026-06-07T22:53:32.2509493Z         "impl",
2026-06-07T22:53:32.2509580Z         "unit",
2026-06-07T22:53:32.2509664Z         "int"
2026-06-07T22:53:32.2509745Z       ],
2026-06-07T22:53:32.2509827Z       "stages": {
2026-06-07T22:53:32.2509908Z         "doc": {
2026-06-07T22:53:32.2510002Z           "complete": false,
2026-06-07T22:53:32.2510195Z           "evidence": []
2026-06-07T22:53:32.2510280Z         },
2026-06-07T22:53:32.2510360Z         "impl": {
2026-06-07T22:53:32.2510449Z           "complete": true,
2026-06-07T22:53:32.2510536Z           "evidence": [
2026-06-07T22:53:32.2510622Z             {
2026-06-07T22:53:32.2510827Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T22:53:32.2510918Z               "line": 412
2026-06-07T22:53:32.2510998Z             },
2026-06-07T22:53:32.2511079Z             {
2026-06-07T22:53:32.2511194Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.2511280Z               "line": 40
2026-06-07T22:53:32.2511361Z             },
2026-06-07T22:53:32.2511442Z             {
2026-06-07T22:53:32.2511566Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2511656Z               "line": 27
2026-06-07T22:53:32.2511733Z             },
2026-06-07T22:53:32.2511819Z             {
2026-06-07T22:53:32.2511933Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2512033Z               "line": 167
2026-06-07T22:53:32.2512120Z             },
2026-06-07T22:53:32.2512200Z             {
2026-06-07T22:53:32.2512329Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2512425Z               "line": 257
2026-06-07T22:53:32.2512506Z             },
2026-06-07T22:53:32.2512586Z             {
2026-06-07T22:53:32.2512697Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-07T22:53:32.2512792Z               "line": 59
2026-06-07T22:53:32.2512876Z             },
2026-06-07T22:53:32.2512956Z             {
2026-06-07T22:53:32.2513077Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2513166Z               "line": 41
2026-06-07T22:53:32.2513246Z             },
2026-06-07T22:53:32.2513331Z             {
2026-06-07T22:53:32.2513452Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-07T22:53:32.2513537Z               "line": 27
2026-06-07T22:53:32.2513631Z             },
2026-06-07T22:53:32.2513709Z             {
2026-06-07T22:53:32.2513828Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-07T22:53:32.2513917Z               "line": 59
2026-06-07T22:53:32.2513999Z             },
2026-06-07T22:53:32.2514085Z             {
2026-06-07T22:53:32.2514204Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-07T22:53:32.2514290Z               "line": 68
2026-06-07T22:53:32.2514371Z             },
2026-06-07T22:53:32.2514457Z             {
2026-06-07T22:53:32.2514571Z               "path": "crates/spt-store/src/registry.rs",
2026-06-07T22:53:32.2514653Z               "line": 139
2026-06-07T22:53:32.2514743Z             }
2026-06-07T22:53:32.2514824Z           ]
2026-06-07T22:53:32.2514905Z         },
2026-06-07T22:53:32.2514987Z         "int": {
2026-06-07T22:53:32.2515081Z           "complete": true,
2026-06-07T22:53:32.2515172Z           "evidence": [
2026-06-07T22:53:32.2515254Z             {
2026-06-07T22:53:32.2515382Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-07T22:53:32.2515467Z               "line": 102
2026-06-07T22:53:32.2515547Z             },
2026-06-07T22:53:32.2515629Z             {
2026-06-07T22:53:32.2515741Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2515831Z               "line": 593
2026-06-07T22:53:32.2515912Z             },
2026-06-07T22:53:32.2515999Z             {
2026-06-07T22:53:32.2516113Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2516203Z               "line": 867
2026-06-07T22:53:32.2516280Z             }
2026-06-07T22:53:32.2516365Z           ]
2026-06-07T22:53:32.2516451Z         },
2026-06-07T22:53:32.2516532Z         "unit": {
2026-06-07T22:53:32.2516624Z           "complete": true,
2026-06-07T22:53:32.2516709Z           "evidence": [
2026-06-07T22:53:32.2516789Z             {
2026-06-07T22:53:32.2516910Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2517176Z               "line": 818
2026-06-07T22:53:32.2517263Z             },
2026-06-07T22:53:32.2517347Z             {
2026-06-07T22:53:32.2517467Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2517549Z               "line": 1100
2026-06-07T22:53:32.2517725Z             },
2026-06-07T22:53:32.2517806Z             {
2026-06-07T22:53:32.2517931Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-07T22:53:32.2518014Z               "line": 83
2026-06-07T22:53:32.2518095Z             },
2026-06-07T22:53:32.2518176Z             {
2026-06-07T22:53:32.2518294Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2518383Z               "line": 690
2026-06-07T22:53:32.2518464Z             },
2026-06-07T22:53:32.2518547Z             {
2026-06-07T22:53:32.2518660Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2518746Z               "line": 701
2026-06-07T22:53:32.2518832Z             },
2026-06-07T22:53:32.2518923Z             {
2026-06-07T22:53:32.2519031Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2519118Z               "line": 716
2026-06-07T22:53:32.2519204Z             },
2026-06-07T22:53:32.2519285Z             {
2026-06-07T22:53:32.2519408Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-07T22:53:32.2519496Z               "line": 99
2026-06-07T22:53:32.2519580Z             },
2026-06-07T22:53:32.2519661Z             {
2026-06-07T22:53:32.2519777Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-07T22:53:32.2519862Z               "line": 114
2026-06-07T22:53:32.2519948Z             },
2026-06-07T22:53:32.2520024Z             {
2026-06-07T22:53:32.2520145Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-07T22:53:32.2520228Z               "line": 147
2026-06-07T22:53:32.2520319Z             }
2026-06-07T22:53:32.2520402Z           ]
2026-06-07T22:53:32.2520483Z         }
2026-06-07T22:53:32.2520562Z       }
2026-06-07T22:53:32.2520649Z     },
2026-06-07T22:53:32.2520731Z     {
2026-06-07T22:53:32.2520821Z       "id": "REQ-INST-8",
2026-06-07T22:53:32.2520971Z       "title": "Remote-control mode distinct from local operation",
2026-06-07T22:53:32.2521062Z       "requiredStages": [
2026-06-07T22:53:32.2521154Z         "impl",
2026-06-07T22:53:32.2521234Z         "unit",
2026-06-07T22:53:32.2521314Z         "int"
2026-06-07T22:53:32.2521397Z       ],
2026-06-07T22:53:32.2521483Z       "stages": {
2026-06-07T22:53:32.2521568Z         "doc": {
2026-06-07T22:53:32.2521658Z           "complete": false,
2026-06-07T22:53:32.2521750Z           "evidence": []
2026-06-07T22:53:32.2521835Z         },
2026-06-07T22:53:32.2521921Z         "impl": {
2026-06-07T22:53:32.2522012Z           "complete": true,
2026-06-07T22:53:32.2522097Z           "evidence": [
2026-06-07T22:53:32.2522183Z             {
2026-06-07T22:53:32.2522298Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-07T22:53:32.2522389Z               "line": 98
2026-06-07T22:53:32.2522478Z             },
2026-06-07T22:53:32.2522569Z             {
2026-06-07T22:53:32.2522680Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-07T22:53:32.2522769Z               "line": 209
2026-06-07T22:53:32.2522850Z             },
2026-06-07T22:53:32.2522942Z             {
2026-06-07T22:53:32.2523052Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-07T22:53:32.2523136Z               "line": 230
2026-06-07T22:53:32.2523222Z             },
2026-06-07T22:53:32.2523315Z             {
2026-06-07T22:53:32.2523427Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-07T22:53:32.2523517Z               "line": 35
2026-06-07T22:53:32.2523598Z             }
2026-06-07T22:53:32.2523679Z           ]
2026-06-07T22:53:32.2523763Z         },
2026-06-07T22:53:32.2523848Z         "int": {
2026-06-07T22:53:32.2523939Z           "complete": true,
2026-06-07T22:53:32.2524026Z           "evidence": [
2026-06-07T22:53:32.2524111Z             {
2026-06-07T22:53:32.2524335Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T22:53:32.2524426Z               "line": 404
2026-06-07T22:53:32.2524506Z             },
2026-06-07T22:53:32.2524589Z             {
2026-06-07T22:53:32.2524707Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2525814Z               "line": 931
2026-06-07T22:53:32.2525900Z             }
2026-06-07T22:53:32.2525984Z           ]
2026-06-07T22:53:32.2526065Z         },
2026-06-07T22:53:32.2526150Z         "unit": {
2026-06-07T22:53:32.2526241Z           "complete": true,
2026-06-07T22:53:32.2526330Z           "evidence": [
2026-06-07T22:53:32.2526410Z             {
2026-06-07T22:53:32.2526530Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-07T22:53:32.2526621Z               "line": 180
2026-06-07T22:53:32.2526701Z             },
2026-06-07T22:53:32.2526787Z             {
2026-06-07T22:53:32.2526902Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-07T22:53:32.2527088Z               "line": 258
2026-06-07T22:53:32.2527169Z             },
2026-06-07T22:53:32.2527254Z             {
2026-06-07T22:53:32.2527368Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-07T22:53:32.2527456Z               "line": 70
2026-06-07T22:53:32.2527546Z             },
2026-06-07T22:53:32.2527627Z             {
2026-06-07T22:53:32.2527741Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-07T22:53:32.2527827Z               "line": 110
2026-06-07T22:53:32.2527912Z             }
2026-06-07T22:53:32.2527993Z           ]
2026-06-07T22:53:32.2528075Z         }
2026-06-07T22:53:32.2528162Z       }
2026-06-07T22:53:32.2528241Z     },
2026-06-07T22:53:32.2528327Z     {
2026-06-07T22:53:32.2528415Z       "id": "REQ-INST-9",
2026-06-07T22:53:32.2528593Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-07T22:53:32.2528688Z       "requiredStages": [
2026-06-07T22:53:32.2528774Z         "impl",
2026-06-07T22:53:32.2528859Z         "unit"
2026-06-07T22:53:32.2528943Z       ],
2026-06-07T22:53:32.2529034Z       "stages": {
2026-06-07T22:53:32.2529116Z         "doc": {
2026-06-07T22:53:32.2529211Z           "complete": false,
2026-06-07T22:53:32.2529301Z           "evidence": []
2026-06-07T22:53:32.2529392Z         },
2026-06-07T22:53:32.2529478Z         "impl": {
2026-06-07T22:53:32.2529568Z           "complete": true,
2026-06-07T22:53:32.2529659Z           "evidence": [
2026-06-07T22:53:32.2529746Z             {
2026-06-07T22:53:32.2529864Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2529955Z               "line": 328
2026-06-07T22:53:32.2530037Z             }
2026-06-07T22:53:32.2530122Z           ]
2026-06-07T22:53:32.2530203Z         },
2026-06-07T22:53:32.2530293Z         "int": {
2026-06-07T22:53:32.2530385Z           "complete": false,
2026-06-07T22:53:32.2530474Z           "evidence": []
2026-06-07T22:53:32.2530560Z         },
2026-06-07T22:53:32.2530647Z         "unit": {
2026-06-07T22:53:32.2530747Z           "complete": true,
2026-06-07T22:53:32.2530832Z           "evidence": [
2026-06-07T22:53:32.2530918Z             {
2026-06-07T22:53:32.2531034Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2531127Z               "line": 1168
2026-06-07T22:53:32.2531218Z             },
2026-06-07T22:53:32.2531300Z             {
2026-06-07T22:53:32.2531418Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2531508Z               "line": 1177
2026-06-07T22:53:32.2531589Z             },
2026-06-07T22:53:32.2531676Z             {
2026-06-07T22:53:32.2531794Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2531884Z               "line": 1193
2026-06-07T22:53:32.2531967Z             },
2026-06-07T22:53:32.2532053Z             {
2026-06-07T22:53:32.2532166Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2532257Z               "line": 1205
2026-06-07T22:53:32.2532343Z             },
2026-06-07T22:53:32.2532538Z             {
2026-06-07T22:53:32.2532653Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2532743Z               "line": 1225
2026-06-07T22:53:32.2532824Z             }
2026-06-07T22:53:32.2532906Z           ]
2026-06-07T22:53:32.2533081Z         }
2026-06-07T22:53:32.2533167Z       }
2026-06-07T22:53:32.2533250Z     },
2026-06-07T22:53:32.2533334Z     {
2026-06-07T22:53:32.2533430Z       "id": "REQ-INSTALL-1",
2026-06-07T22:53:32.2533616Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-07T22:53:32.2533710Z       "requiredStages": [
2026-06-07T22:53:32.2533797Z         "doc",
2026-06-07T22:53:32.2533880Z         "impl",
2026-06-07T22:53:32.2533964Z         "int"
2026-06-07T22:53:32.2534049Z       ],
2026-06-07T22:53:32.2534134Z       "stages": {
2026-06-07T22:53:32.2534221Z         "doc": {
2026-06-07T22:53:32.2534309Z           "complete": true,
2026-06-07T22:53:32.2534399Z           "evidence": [
2026-06-07T22:53:32.2534485Z             {
2026-06-07T22:53:32.2534586Z               "path": "CONTEXT.md",
2026-06-07T22:53:32.2534675Z               "line": 560
2026-06-07T22:53:32.2534756Z             }
2026-06-07T22:53:32.2534844Z           ]
2026-06-07T22:53:32.2534939Z         },
2026-06-07T22:53:32.2535023Z         "impl": {
2026-06-07T22:53:32.2535115Z           "complete": true,
2026-06-07T22:53:32.2535205Z           "evidence": [
2026-06-07T22:53:32.2535291Z             {
2026-06-07T22:53:32.2535395Z               "path": "installer/install.ps1",
2026-06-07T22:53:32.2535487Z               "line": 57
2026-06-07T22:53:32.2535567Z             },
2026-06-07T22:53:32.2535653Z             {
2026-06-07T22:53:32.2535754Z               "path": "installer/install.sh",
2026-06-07T22:53:32.2535844Z               "line": 52
2026-06-07T22:53:32.2535930Z             }
2026-06-07T22:53:32.2536011Z           ]
2026-06-07T22:53:32.2536098Z         },
2026-06-07T22:53:32.2536178Z         "int": {
2026-06-07T22:53:32.2536273Z           "complete": true,
2026-06-07T22:53:32.2536369Z           "evidence": [
2026-06-07T22:53:32.2536460Z             {
2026-06-07T22:53:32.2536582Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-07T22:53:32.2536667Z               "line": 21
2026-06-07T22:53:32.2536763Z             }
2026-06-07T22:53:32.2536848Z           ]
2026-06-07T22:53:32.2536928Z         },
2026-06-07T22:53:32.2537110Z         "unit": {
2026-06-07T22:53:32.2537200Z           "complete": false,
2026-06-07T22:53:32.2537299Z           "evidence": []
2026-06-07T22:53:32.2537381Z         }
2026-06-07T22:53:32.2537467Z       }
2026-06-07T22:53:32.2537552Z     },
2026-06-07T22:53:32.2537638Z     {
2026-06-07T22:53:32.2537729Z       "id": "REQ-INSTALL-2",
2026-06-07T22:53:32.2537872Z       "title": "Marketplace-repackaging-friendly install",
2026-06-07T22:53:32.2537967Z       "requiredStages": [
2026-06-07T22:53:32.2538054Z         "doc"
2026-06-07T22:53:32.2538139Z       ],
2026-06-07T22:53:32.2538225Z       "stages": {
2026-06-07T22:53:32.2538316Z         "doc": {
2026-06-07T22:53:32.2538411Z           "complete": true,
2026-06-07T22:53:32.2538506Z           "evidence": [
2026-06-07T22:53:32.2538587Z             {
2026-06-07T22:53:32.2538683Z               "path": "CONTEXT.md",
2026-06-07T22:53:32.2538778Z               "line": 561
2026-06-07T22:53:32.2538859Z             }
2026-06-07T22:53:32.2538940Z           ]
2026-06-07T22:53:32.2539022Z         },
2026-06-07T22:53:32.2539111Z         "impl": {
2026-06-07T22:53:32.2539206Z           "complete": false,
2026-06-07T22:53:32.2539297Z           "evidence": []
2026-06-07T22:53:32.2539382Z         },
2026-06-07T22:53:32.2539461Z         "int": {
2026-06-07T22:53:32.2539551Z           "complete": false,
2026-06-07T22:53:32.2539642Z           "evidence": []
2026-06-07T22:53:32.2539729Z         },
2026-06-07T22:53:32.2539813Z         "unit": {
2026-06-07T22:53:32.2539904Z           "complete": false,
2026-06-07T22:53:32.2539991Z           "evidence": []
2026-06-07T22:53:32.2540171Z         }
2026-06-07T22:53:32.2540258Z       }
2026-06-07T22:53:32.2540339Z     },
2026-06-07T22:53:32.2540420Z     {
2026-06-07T22:53:32.2540515Z       "id": "REQ-INSTALL-3",
2026-06-07T22:53:32.2540649Z       "title": "Idempotent + interactive-optional first run",
2026-06-07T22:53:32.2540829Z       "requiredStages": [
2026-06-07T22:53:32.2540916Z         "impl",
2026-06-07T22:53:32.2540997Z         "int"
2026-06-07T22:53:32.2541078Z       ],
2026-06-07T22:53:32.2541164Z       "stages": {
2026-06-07T22:53:32.2541245Z         "doc": {
2026-06-07T22:53:32.2541335Z           "complete": false,
2026-06-07T22:53:32.2541425Z           "evidence": []
2026-06-07T22:53:32.2541507Z         },
2026-06-07T22:53:32.2541589Z         "impl": {
2026-06-07T22:53:32.2541678Z           "complete": true,
2026-06-07T22:53:32.2541769Z           "evidence": [
2026-06-07T22:53:32.2541856Z             {
2026-06-07T22:53:32.2541960Z               "path": "installer/install.ps1",
2026-06-07T22:53:32.2542044Z               "line": 100
2026-06-07T22:53:32.2542139Z             },
2026-06-07T22:53:32.2542222Z             {
2026-06-07T22:53:32.2542322Z               "path": "installer/install.ps1",
2026-06-07T22:53:32.2542411Z               "line": 111
2026-06-07T22:53:32.2542493Z             },
2026-06-07T22:53:32.2542583Z             {
2026-06-07T22:53:32.2542683Z               "path": "installer/install.sh",
2026-06-07T22:53:32.2542773Z               "line": 79
2026-06-07T22:53:32.2542856Z             }
2026-06-07T22:53:32.2542937Z           ]
2026-06-07T22:53:32.2543017Z         },
2026-06-07T22:53:32.2543103Z         "int": {
2026-06-07T22:53:32.2543190Z           "complete": true,
2026-06-07T22:53:32.2543280Z           "evidence": [
2026-06-07T22:53:32.2543360Z             {
2026-06-07T22:53:32.2543481Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-07T22:53:32.2543565Z               "line": 167
2026-06-07T22:53:32.2543651Z             }
2026-06-07T22:53:32.2543732Z           ]
2026-06-07T22:53:32.2543815Z         },
2026-06-07T22:53:32.2543908Z         "unit": {
2026-06-07T22:53:32.2543999Z           "complete": false,
2026-06-07T22:53:32.2544086Z           "evidence": []
2026-06-07T22:53:32.2544167Z         }
2026-06-07T22:53:32.2544252Z       }
2026-06-07T22:53:32.2544343Z     },
2026-06-07T22:53:32.2544430Z     {
2026-06-07T22:53:32.2544524Z       "id": "REQ-INSTALL-4",
2026-06-07T22:53:32.2545127Z       "title": "Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over",
2026-06-07T22:53:32.2545231Z       "requiredStages": [
2026-06-07T22:53:32.2545311Z         "impl",
2026-06-07T22:53:32.2545399Z         "unit"
2026-06-07T22:53:32.2545484Z       ],
2026-06-07T22:53:32.2545569Z       "stages": {
2026-06-07T22:53:32.2545655Z         "doc": {
2026-06-07T22:53:32.2545742Z           "complete": false,
2026-06-07T22:53:32.2545832Z           "evidence": []
2026-06-07T22:53:32.2545922Z         },
2026-06-07T22:53:32.2546009Z         "impl": {
2026-06-07T22:53:32.2546099Z           "complete": true,
2026-06-07T22:53:32.2546184Z           "evidence": [
2026-06-07T22:53:32.2546266Z             {
2026-06-07T22:53:32.2546404Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T22:53:32.2546495Z               "line": 154
2026-06-07T22:53:32.2546576Z             },
2026-06-07T22:53:32.2546658Z             {
2026-06-07T22:53:32.2546780Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-07T22:53:32.2546866Z               "line": 29
2026-06-07T22:53:32.2547044Z             },
2026-06-07T22:53:32.2547128Z             {
2026-06-07T22:53:32.2547247Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-07T22:53:32.2547333Z               "line": 117
2026-06-07T22:53:32.2547417Z             },
2026-06-07T22:53:32.2547502Z             {
2026-06-07T22:53:32.2547617Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-07T22:53:32.2547807Z               "line": 161
2026-06-07T22:53:32.2547878Z             },
2026-06-07T22:53:32.2547961Z             {
2026-06-07T22:53:32.2548079Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-07T22:53:32.2548169Z               "line": 191
2026-06-07T22:53:32.2548351Z             },
2026-06-07T22:53:32.2548432Z             {
2026-06-07T22:53:32.2548556Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-07T22:53:32.2548666Z               "line": 223
2026-06-07T22:53:32.2548756Z             },
2026-06-07T22:53:32.2548837Z             {
2026-06-07T22:53:32.2548943Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2549033Z               "line": 3414
2026-06-07T22:53:32.2549114Z             }
2026-06-07T22:53:32.2549200Z           ]
2026-06-07T22:53:32.2549282Z         },
2026-06-07T22:53:32.2549366Z         "int": {
2026-06-07T22:53:32.2549457Z           "complete": false,
2026-06-07T22:53:32.2549544Z           "evidence": []
2026-06-07T22:53:32.2549643Z         },
2026-06-07T22:53:32.2549723Z         "unit": {
2026-06-07T22:53:32.2549827Z           "complete": true,
2026-06-07T22:53:32.2549918Z           "evidence": [
2026-06-07T22:53:32.2550007Z             {
2026-06-07T22:53:32.2550135Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T22:53:32.2550232Z               "line": 334
2026-06-07T22:53:32.2550308Z             },
2026-06-07T22:53:32.2550388Z             {
2026-06-07T22:53:32.2550527Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-07T22:53:32.2550642Z               "line": 269
2026-06-07T22:53:32.2550726Z             },
2026-06-07T22:53:32.2550803Z             {
2026-06-07T22:53:32.2550927Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-07T22:53:32.2551018Z               "line": 310
2026-06-07T22:53:32.2551094Z             },
2026-06-07T22:53:32.2551176Z             {
2026-06-07T22:53:32.2551285Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-07T22:53:32.2551394Z               "line": 330
2026-06-07T22:53:32.2551472Z             },
2026-06-07T22:53:32.2551552Z             {
2026-06-07T22:53:32.2551657Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2551743Z               "line": 4977
2026-06-07T22:53:32.2551839Z             }
2026-06-07T22:53:32.2551937Z           ]
2026-06-07T22:53:32.2552048Z         }
2026-06-07T22:53:32.2552158Z       }
2026-06-07T22:53:32.2552243Z     },
2026-06-07T22:53:32.2552324Z     {
2026-06-07T22:53:32.2552421Z       "id": "REQ-INSTALL-5",
2026-06-07T22:53:32.2552882Z       "title": "Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration",
2026-06-07T22:53:32.2552976Z       "requiredStages": [
2026-06-07T22:53:32.2553063Z         "impl",
2026-06-07T22:53:32.2553148Z         "int"
2026-06-07T22:53:32.2553234Z       ],
2026-06-07T22:53:32.2553320Z       "stages": {
2026-06-07T22:53:32.2553411Z         "doc": {
2026-06-07T22:53:32.2553502Z           "complete": false,
2026-06-07T22:53:32.2553591Z           "evidence": []
2026-06-07T22:53:32.2553683Z         },
2026-06-07T22:53:32.2553769Z         "impl": {
2026-06-07T22:53:32.2553859Z           "complete": true,
2026-06-07T22:53:32.2553954Z           "evidence": [
2026-06-07T22:53:32.2554041Z             {
2026-06-07T22:53:32.2554144Z               "path": "installer/install.ps1",
2026-06-07T22:53:32.2554230Z               "line": 5
2026-06-07T22:53:32.2554317Z             },
2026-06-07T22:53:32.2554398Z             {
2026-06-07T22:53:32.2554502Z               "path": "installer/install.sh",
2026-06-07T22:53:32.2554588Z               "line": 6
2026-06-07T22:53:32.2554670Z             }
2026-06-07T22:53:32.2554760Z           ]
2026-06-07T22:53:32.2554840Z         },
2026-06-07T22:53:32.2554927Z         "int": {
2026-06-07T22:53:32.2555019Z           "complete": true,
2026-06-07T22:53:32.2555108Z           "evidence": [
2026-06-07T22:53:32.2555269Z             {
2026-06-07T22:53:32.2555388Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-07T22:53:32.2555481Z               "line": 22
2026-06-07T22:53:32.2555561Z             }
2026-06-07T22:53:32.2555644Z           ]
2026-06-07T22:53:32.2555815Z         },
2026-06-07T22:53:32.2555983Z         "unit": {
2026-06-07T22:53:32.2556073Z           "complete": false,
2026-06-07T22:53:32.2556163Z           "evidence": []
2026-06-07T22:53:32.2556245Z         }
2026-06-07T22:53:32.2556326Z       }
2026-06-07T22:53:32.2556411Z     },
2026-06-07T22:53:32.2556497Z     {
2026-06-07T22:53:32.2556588Z       "id": "REQ-INSTALL-6",
2026-06-07T22:53:32.2557912Z       "title": "Linux elevation install leg: install.sh symlinks the binary into a sudo-reachable path (/usr/local/bin; graceful print-the-one-liner when unelevated) so sudo spt resolves; first sudo spt detects elevation and prompts ONCE for the default user account — thereafter any elevated daemon launch runs daemon + state under that account, never root (KH 5.7 interplay verified) (M8 decision 8)",
2026-06-07T22:53:32.2558024Z       "requiredStages": [
2026-06-07T22:53:32.2558114Z         "impl",
2026-06-07T22:53:32.2558196Z         "unit"
2026-06-07T22:53:32.2558277Z       ],
2026-06-07T22:53:32.2558377Z       "stages": {
2026-06-07T22:53:32.2558463Z         "doc": {
2026-06-07T22:53:32.2558558Z           "complete": false,
2026-06-07T22:53:32.2558649Z           "evidence": []
2026-06-07T22:53:32.2558734Z         },
2026-06-07T22:53:32.2558821Z         "impl": {
2026-06-07T22:53:32.2558911Z           "complete": true,
2026-06-07T22:53:32.2559006Z           "evidence": [
2026-06-07T22:53:32.2559087Z             {
2026-06-07T22:53:32.2559212Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T22:53:32.2559297Z               "line": 59
2026-06-07T22:53:32.2559383Z             },
2026-06-07T22:53:32.2559470Z             {
2026-06-07T22:53:32.2559588Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T22:53:32.2559684Z               "line": 365
2026-06-07T22:53:32.2559765Z             },
2026-06-07T22:53:32.2559856Z             {
2026-06-07T22:53:32.2559979Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T22:53:32.2560066Z               "line": 138
2026-06-07T22:53:32.2560156Z             },
2026-06-07T22:53:32.2560241Z             {
2026-06-07T22:53:32.2560359Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T22:53:32.2560446Z               "line": 223
2026-06-07T22:53:32.2560534Z             },
2026-06-07T22:53:32.2560615Z             {
2026-06-07T22:53:32.2560719Z               "path": "installer/install.sh",
2026-06-07T22:53:32.2560811Z               "line": 104
2026-06-07T22:53:32.2560891Z             }
2026-06-07T22:53:32.2560976Z           ]
2026-06-07T22:53:32.2561058Z         },
2026-06-07T22:53:32.2561145Z         "int": {
2026-06-07T22:53:32.2561234Z           "complete": false,
2026-06-07T22:53:32.2561330Z           "evidence": []
2026-06-07T22:53:32.2561421Z         },
2026-06-07T22:53:32.2561502Z         "unit": {
2026-06-07T22:53:32.2561601Z           "complete": true,
2026-06-07T22:53:32.2561688Z           "evidence": [
2026-06-07T22:53:32.2561779Z             {
2026-06-07T22:53:32.2561892Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-07T22:53:32.2561993Z               "line": 673
2026-06-07T22:53:32.2564019Z             }
2026-06-07T22:53:32.2564123Z           ]
2026-06-07T22:53:32.2564214Z         }
2026-06-07T22:53:32.2564296Z       }
2026-06-07T22:53:32.2564380Z     },
2026-06-07T22:53:32.2564461Z     {
2026-06-07T22:53:32.2564562Z       "id": "REQ-INSTALL-7",
2026-06-07T22:53:32.2565734Z       "title": "Windows inbound reachability: the elevated install leg registers the inbound-UDP firewall rule (New-NetFirewallRule); the daemon self-detects blocked inbound and renders it as the no-connection state in subnet status + the coming-online banner (covers user-scope installs that skip the elevated leg — never a silent NO_SEED_HOLDER dead-end) (M8 root cause 3)",
2026-06-07T22:53:32.2565971Z       "requiredStages": [
2026-06-07T22:53:32.2566060Z         "impl"
2026-06-07T22:53:32.2566146Z       ],
2026-06-07T22:53:32.2566238Z       "stages": {
2026-06-07T22:53:32.2566323Z         "doc": {
2026-06-07T22:53:32.2566509Z           "complete": false,
2026-06-07T22:53:32.2566604Z           "evidence": []
2026-06-07T22:53:32.2566685Z         },
2026-06-07T22:53:32.2566775Z         "impl": {
2026-06-07T22:53:32.2566863Z           "complete": true,
2026-06-07T22:53:32.2567047Z           "evidence": [
2026-06-07T22:53:32.2567134Z             {
2026-06-07T22:53:32.2567243Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2567333Z               "line": 2400
2026-06-07T22:53:32.2567419Z             },
2026-06-07T22:53:32.2567502Z             {
2026-06-07T22:53:32.2567610Z               "path": "installer/install.ps1",
2026-06-07T22:53:32.2567706Z               "line": 157
2026-06-07T22:53:32.2567792Z             }
2026-06-07T22:53:32.2567882Z           ]
2026-06-07T22:53:32.2567968Z         },
2026-06-07T22:53:32.2568049Z         "int": {
2026-06-07T22:53:32.2568146Z           "complete": false,
2026-06-07T22:53:32.2568234Z           "evidence": []
2026-06-07T22:53:32.2568320Z         },
2026-06-07T22:53:32.2568415Z         "unit": {
2026-06-07T22:53:32.2568510Z           "complete": false,
2026-06-07T22:53:32.2568599Z           "evidence": []
2026-06-07T22:53:32.2568679Z         }
2026-06-07T22:53:32.2568766Z       }
2026-06-07T22:53:32.2568847Z     },
2026-06-07T22:53:32.2568932Z     {
2026-06-07T22:53:32.2569028Z       "id": "REQ-INSTALL-8",
2026-06-07T22:53:32.2570016Z       "title": "OS-service registration (REQ-INSTALL-1's deferred third leg): Linux systemd USER service + loginctl enable-linger (linger rides the elevated install leg; daemon starts at boot pre-login, user universe per KH 5.7, systemctl --user managed); Windows scheduled task at-logon (interactive session, no stored credentials); a node is reachable after reboot without any manual spt invocation (M8 decision 17)",
2026-06-07T22:53:32.2570134Z       "requiredStages": [
2026-06-07T22:53:32.2570215Z         "impl"
2026-06-07T22:53:32.2570296Z       ],
2026-06-07T22:53:32.2570383Z       "stages": {
2026-06-07T22:53:32.2570467Z         "doc": {
2026-06-07T22:53:32.2570558Z           "complete": false,
2026-06-07T22:53:32.2570650Z           "evidence": []
2026-06-07T22:53:32.2570731Z         },
2026-06-07T22:53:32.2570815Z         "impl": {
2026-06-07T22:53:32.2570905Z           "complete": true,
2026-06-07T22:53:32.2570991Z           "evidence": [
2026-06-07T22:53:32.2571076Z             {
2026-06-07T22:53:32.2571180Z               "path": "installer/install.ps1",
2026-06-07T22:53:32.2571265Z               "line": 184
2026-06-07T22:53:32.2571347Z             },
2026-06-07T22:53:32.2571428Z             {
2026-06-07T22:53:32.2571532Z               "path": "installer/install.sh",
2026-06-07T22:53:32.2571623Z               "line": 121
2026-06-07T22:53:32.2571705Z             }
2026-06-07T22:53:32.2571794Z           ]
2026-06-07T22:53:32.2571875Z         },
2026-06-07T22:53:32.2571963Z         "int": {
2026-06-07T22:53:32.2572052Z           "complete": false,
2026-06-07T22:53:32.2572143Z           "evidence": []
2026-06-07T22:53:32.2572238Z         },
2026-06-07T22:53:32.2572319Z         "unit": {
2026-06-07T22:53:32.2572410Z           "complete": false,
2026-06-07T22:53:32.2572495Z           "evidence": []
2026-06-07T22:53:32.2572587Z         }
2026-06-07T22:53:32.2572668Z       }
2026-06-07T22:53:32.2572753Z     },
2026-06-07T22:53:32.2572834Z     {
2026-06-07T22:53:32.2572931Z       "id": "REQ-MANIFEST-1",
2026-06-07T22:53:32.2573111Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-07T22:53:32.2573202Z       "requiredStages": [
2026-06-07T22:53:32.2573288Z         "doc",
2026-06-07T22:53:32.2573368Z         "impl",
2026-06-07T22:53:32.2573454Z         "unit"
2026-06-07T22:53:32.2573536Z       ],
2026-06-07T22:53:32.2573621Z       "stages": {
2026-06-07T22:53:32.2573810Z         "doc": {
2026-06-07T22:53:32.2573897Z           "complete": true,
2026-06-07T22:53:32.2573992Z           "evidence": [
2026-06-07T22:53:32.2574077Z             {
2026-06-07T22:53:32.2574178Z               "path": "docs/MANIFEST.md",
2026-06-07T22:53:32.2574364Z               "line": 19
2026-06-07T22:53:32.2574450Z             }
2026-06-07T22:53:32.2574536Z           ]
2026-06-07T22:53:32.2574617Z         },
2026-06-07T22:53:32.2574707Z         "impl": {
2026-06-07T22:53:32.2574798Z           "complete": true,
2026-06-07T22:53:32.2574889Z           "evidence": [
2026-06-07T22:53:32.2574975Z             {
2026-06-07T22:53:32.2575094Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.2575223Z               "line": 18
2026-06-07T22:53:32.2575322Z             }
2026-06-07T22:53:32.2575403Z           ]
2026-06-07T22:53:32.2575485Z         },
2026-06-07T22:53:32.2575566Z         "int": {
2026-06-07T22:53:32.2575651Z           "complete": false,
2026-06-07T22:53:32.2575752Z           "evidence": []
2026-06-07T22:53:32.2575838Z         },
2026-06-07T22:53:32.2575923Z         "unit": {
2026-06-07T22:53:32.2576018Z           "complete": true,
2026-06-07T22:53:32.2576106Z           "evidence": [
2026-06-07T22:53:32.2576196Z             {
2026-06-07T22:53:32.2576303Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.2576389Z               "line": 746
2026-06-07T22:53:32.2576480Z             },
2026-06-07T22:53:32.2576555Z             {
2026-06-07T22:53:32.2576677Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.2576764Z               "line": 860
2026-06-07T22:53:32.2576865Z             },
2026-06-07T22:53:32.2577112Z             {
2026-06-07T22:53:32.2577231Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.2577322Z               "line": 872
2026-06-07T22:53:32.2577403Z             },
2026-06-07T22:53:32.2577517Z             {
2026-06-07T22:53:32.2577631Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.2577728Z               "line": 883
2026-06-07T22:53:32.2577817Z             },
2026-06-07T22:53:32.2577898Z             {
2026-06-07T22:53:32.2578014Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.2578109Z               "line": 900
2026-06-07T22:53:32.2578195Z             },
2026-06-07T22:53:32.2578280Z             {
2026-06-07T22:53:32.2578400Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.2578484Z               "line": 914
2026-06-07T22:53:32.2578566Z             },
2026-06-07T22:53:32.2578658Z             {
2026-06-07T22:53:32.2578776Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.2578866Z               "line": 929
2026-06-07T22:53:32.2578946Z             },
2026-06-07T22:53:32.2579028Z             {
2026-06-07T22:53:32.2579144Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.2579230Z               "line": 944
2026-06-07T22:53:32.2579321Z             },
2026-06-07T22:53:32.2579402Z             {
2026-06-07T22:53:32.2579516Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.2579607Z               "line": 959
2026-06-07T22:53:32.2579688Z             },
2026-06-07T22:53:32.2579774Z             {
2026-06-07T22:53:32.2579888Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.2579980Z               "line": 970
2026-06-07T22:53:32.2580065Z             }
2026-06-07T22:53:32.2580150Z           ]
2026-06-07T22:53:32.2580232Z         }
2026-06-07T22:53:32.2580323Z       }
2026-06-07T22:53:32.2580404Z     },
2026-06-07T22:53:32.2580484Z     {
2026-06-07T22:53:32.2580580Z       "id": "REQ-MIGRATE-1",
2026-06-07T22:53:32.2580742Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-07T22:53:32.2580842Z       "requiredStages": [],
2026-06-07T22:53:32.2580929Z       "stages": {
2026-06-07T22:53:32.2581018Z         "doc": {
2026-06-07T22:53:32.2581215Z           "complete": false,
2026-06-07T22:53:32.2581305Z           "evidence": []
2026-06-07T22:53:32.2581394Z         },
2026-06-07T22:53:32.2581479Z         "impl": {
2026-06-07T22:53:32.2581575Z           "complete": false,
2026-06-07T22:53:32.2581754Z           "evidence": []
2026-06-07T22:53:32.2581835Z         },
2026-06-07T22:53:32.2581922Z         "int": {
2026-06-07T22:53:32.2582016Z           "complete": false,
2026-06-07T22:53:32.2582106Z           "evidence": []
2026-06-07T22:53:32.2582193Z         },
2026-06-07T22:53:32.2582279Z         "unit": {
2026-06-07T22:53:32.2582369Z           "complete": false,
2026-06-07T22:53:32.2582455Z           "evidence": []
2026-06-07T22:53:32.2582542Z         }
2026-06-07T22:53:32.2582622Z       }
2026-06-07T22:53:32.2582712Z     },
2026-06-07T22:53:32.2582794Z     {
2026-06-07T22:53:32.2582884Z       "id": "REQ-MSG-1",
2026-06-07T22:53:32.2583313Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-07T22:53:32.2583424Z       "requiredStages": [
2026-06-07T22:53:32.2583510Z         "impl",
2026-06-07T22:53:32.2583594Z         "unit",
2026-06-07T22:53:32.2583680Z         "int"
2026-06-07T22:53:32.2583772Z       ],
2026-06-07T22:53:32.2583862Z       "stages": {
2026-06-07T22:53:32.2583952Z         "doc": {
2026-06-07T22:53:32.2584038Z           "complete": false,
2026-06-07T22:53:32.2584130Z           "evidence": []
2026-06-07T22:53:32.2584209Z         },
2026-06-07T22:53:32.2584295Z         "impl": {
2026-06-07T22:53:32.2584385Z           "complete": true,
2026-06-07T22:53:32.2584477Z           "evidence": [
2026-06-07T22:53:32.2584557Z             {
2026-06-07T22:53:32.2584670Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T22:53:32.2584762Z               "line": 28
2026-06-07T22:53:32.2584848Z             },
2026-06-07T22:53:32.2584929Z             {
2026-06-07T22:53:32.2585043Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T22:53:32.2585134Z               "line": 94
2026-06-07T22:53:32.2585220Z             },
2026-06-07T22:53:32.2585300Z             {
2026-06-07T22:53:32.2585411Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T22:53:32.2585511Z               "line": 127
2026-06-07T22:53:32.2585591Z             },
2026-06-07T22:53:32.2585673Z             {
2026-06-07T22:53:32.2585783Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T22:53:32.2585873Z               "line": 149
2026-06-07T22:53:32.2585954Z             },
2026-06-07T22:53:32.2586041Z             {
2026-06-07T22:53:32.2586149Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T22:53:32.2586235Z               "line": 174
2026-06-07T22:53:32.2586322Z             },
2026-06-07T22:53:32.2586403Z             {
2026-06-07T22:53:32.2586520Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-07T22:53:32.2586608Z               "line": 18
2026-06-07T22:53:32.2586704Z             },
2026-06-07T22:53:32.2586783Z             {
2026-06-07T22:53:32.2586901Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T22:53:32.2587077Z               "line": 13
2026-06-07T22:53:32.2587162Z             },
2026-06-07T22:53:32.2587252Z             {
2026-06-07T22:53:32.2587358Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T22:53:32.2587448Z               "line": 61
2026-06-07T22:53:32.2587528Z             },
2026-06-07T22:53:32.2587610Z             {
2026-06-07T22:53:32.2587720Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-07T22:53:32.2587805Z               "line": 10
2026-06-07T22:53:32.2587891Z             }
2026-06-07T22:53:32.2587968Z           ]
2026-06-07T22:53:32.2588053Z         },
2026-06-07T22:53:32.2588134Z         "int": {
2026-06-07T22:53:32.2588225Z           "complete": true,
2026-06-07T22:53:32.2588316Z           "evidence": [
2026-06-07T22:53:32.2588397Z             {
2026-06-07T22:53:32.2588530Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-07T22:53:32.2588735Z               "line": 9
2026-06-07T22:53:32.2588826Z             },
2026-06-07T22:53:32.2588908Z             {
2026-06-07T22:53:32.2589040Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-07T22:53:32.2589223Z               "line": 70
2026-06-07T22:53:32.2589294Z             },
2026-06-07T22:53:32.2589369Z             {
2026-06-07T22:53:32.2589496Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-07T22:53:32.2589592Z               "line": 129
2026-06-07T22:53:32.2589667Z             }
2026-06-07T22:53:32.2589757Z           ]
2026-06-07T22:53:32.2589876Z         },
2026-06-07T22:53:32.2589977Z         "unit": {
2026-06-07T22:53:32.2590071Z           "complete": true,
2026-06-07T22:53:32.2590153Z           "evidence": [
2026-06-07T22:53:32.2590263Z             {
2026-06-07T22:53:32.2590376Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T22:53:32.2590482Z               "line": 203
2026-06-07T22:53:32.2590578Z             },
2026-06-07T22:53:32.2590659Z             {
2026-06-07T22:53:32.2590772Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T22:53:32.2590859Z               "line": 232
2026-06-07T22:53:32.2590939Z             },
2026-06-07T22:53:32.2591025Z             {
2026-06-07T22:53:32.2591136Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T22:53:32.2591245Z               "line": 277
2026-06-07T22:53:32.2591326Z             },
2026-06-07T22:53:32.2591411Z             {
2026-06-07T22:53:32.2591518Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T22:53:32.2591611Z               "line": 300
2026-06-07T22:53:32.2591693Z             },
2026-06-07T22:53:32.2591775Z             {
2026-06-07T22:53:32.2591888Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-07T22:53:32.2591973Z               "line": 324
2026-06-07T22:53:32.2592058Z             },
2026-06-07T22:53:32.2592140Z             {
2026-06-07T22:53:32.2592257Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-07T22:53:32.2592352Z               "line": 203
2026-06-07T22:53:32.2592438Z             },
2026-06-07T22:53:32.2592521Z             {
2026-06-07T22:53:32.2592633Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-07T22:53:32.2592734Z               "line": 236
2026-06-07T22:53:32.2592815Z             },
2026-06-07T22:53:32.2592896Z             {
2026-06-07T22:53:32.2593005Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-07T22:53:32.2593097Z               "line": 250
2026-06-07T22:53:32.2593177Z             },
2026-06-07T22:53:32.2593258Z             {
2026-06-07T22:53:32.2593368Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-07T22:53:32.2593459Z               "line": 262
2026-06-07T22:53:32.2593540Z             },
2026-06-07T22:53:32.2593625Z             {
2026-06-07T22:53:32.2593737Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T22:53:32.2593826Z               "line": 158
2026-06-07T22:53:32.2593916Z             },
2026-06-07T22:53:32.2593998Z             {
2026-06-07T22:53:32.2594103Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-07T22:53:32.2594193Z               "line": 241
2026-06-07T22:53:32.2594274Z             },
2026-06-07T22:53:32.2594361Z             {
2026-06-07T22:53:32.2594469Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-07T22:53:32.2594555Z               "line": 68
2026-06-07T22:53:32.2594628Z             },
2026-06-07T22:53:32.2594714Z             {
2026-06-07T22:53:32.2594821Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-07T22:53:32.2594930Z               "line": 77
2026-06-07T22:53:32.2595013Z             },
2026-06-07T22:53:32.2595098Z             {
2026-06-07T22:53:32.2595202Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-07T22:53:32.2595293Z               "line": 83
2026-06-07T22:53:32.2595375Z             },
2026-06-07T22:53:32.2595460Z             {
2026-06-07T22:53:32.2595565Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-07T22:53:32.2595733Z               "line": 102
2026-06-07T22:53:32.2595818Z             }
2026-06-07T22:53:32.2595899Z           ]
2026-06-07T22:53:32.2595985Z         }
2026-06-07T22:53:32.2596066Z       }
2026-06-07T22:53:32.2596151Z     },
2026-06-07T22:53:32.2596300Z     {
2026-06-07T22:53:32.2596390Z       "id": "REQ-MSG-2",
2026-06-07T22:53:32.2596653Z       "title": "spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes",
2026-06-07T22:53:32.2596747Z       "requiredStages": [
2026-06-07T22:53:32.2596833Z         "impl",
2026-06-07T22:53:32.2596916Z         "unit"
2026-06-07T22:53:32.2597085Z       ],
2026-06-07T22:53:32.2597178Z       "stages": {
2026-06-07T22:53:32.2597259Z         "doc": {
2026-06-07T22:53:32.2597357Z           "complete": false,
2026-06-07T22:53:32.2597442Z           "evidence": []
2026-06-07T22:53:32.2597528Z         },
2026-06-07T22:53:32.2597609Z         "impl": {
2026-06-07T22:53:32.2597708Z           "complete": true,
2026-06-07T22:53:32.2597802Z           "evidence": [
2026-06-07T22:53:32.2597889Z             {
2026-06-07T22:53:32.2597994Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2598083Z               "line": 11
2026-06-07T22:53:32.2598175Z             },
2026-06-07T22:53:32.2598261Z             {
2026-06-07T22:53:32.2598365Z               "path": "crates/spt/src/main.rs",
2026-06-07T22:53:32.2598456Z               "line": 8
2026-06-07T22:53:32.2598538Z             }
2026-06-07T22:53:32.2598623Z           ]
2026-06-07T22:53:32.2598704Z         },
2026-06-07T22:53:32.2598790Z         "int": {
2026-06-07T22:53:32.2598881Z           "complete": false,
2026-06-07T22:53:32.2598971Z           "evidence": []
2026-06-07T22:53:32.2599061Z         },
2026-06-07T22:53:32.2599144Z         "unit": {
2026-06-07T22:53:32.2599238Z           "complete": true,
2026-06-07T22:53:32.2599329Z           "evidence": [
2026-06-07T22:53:32.2599415Z             {
2026-06-07T22:53:32.2599516Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2599610Z               "line": 4495
2026-06-07T22:53:32.2599700Z             },
2026-06-07T22:53:32.2599783Z             {
2026-06-07T22:53:32.2599887Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2599986Z               "line": 4544
2026-06-07T22:53:32.2600071Z             },
2026-06-07T22:53:32.2600157Z             {
2026-06-07T22:53:32.2600265Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2600360Z               "line": 4567
2026-06-07T22:53:32.2600436Z             },
2026-06-07T22:53:32.2600522Z             {
2026-06-07T22:53:32.2600622Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2600718Z               "line": 5997
2026-06-07T22:53:32.2600804Z             },
2026-06-07T22:53:32.2600890Z             {
2026-06-07T22:53:32.2600989Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2601081Z               "line": 6006
2026-06-07T22:53:32.2601171Z             },
2026-06-07T22:53:32.2601256Z             {
2026-06-07T22:53:32.2601362Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2601453Z               "line": 6020
2026-06-07T22:53:32.2601538Z             }
2026-06-07T22:53:32.2601623Z           ]
2026-06-07T22:53:32.2601710Z         }
2026-06-07T22:53:32.2601791Z       }
2026-06-07T22:53:32.2601877Z     },
2026-06-07T22:53:32.2601958Z     {
2026-06-07T22:53:32.2602049Z       "id": "REQ-MSG-3",
2026-06-07T22:53:32.2602421Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-07T22:53:32.2602519Z       "requiredStages": [
2026-06-07T22:53:32.2602604Z         "impl",
2026-06-07T22:53:32.2602691Z         "unit",
2026-06-07T22:53:32.2602775Z         "int"
2026-06-07T22:53:32.2602855Z       ],
2026-06-07T22:53:32.2602941Z       "stages": {
2026-06-07T22:53:32.2603028Z         "doc": {
2026-06-07T22:53:32.2603123Z           "complete": false,
2026-06-07T22:53:32.2603313Z           "evidence": []
2026-06-07T22:53:32.2603409Z         },
2026-06-07T22:53:32.2603494Z         "impl": {
2026-06-07T22:53:32.2603585Z           "complete": true,
2026-06-07T22:53:32.2603671Z           "evidence": [
2026-06-07T22:53:32.2603762Z             {
2026-06-07T22:53:32.2603972Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-07T22:53:32.2604061Z               "line": 19
2026-06-07T22:53:32.2604152Z             },
2026-06-07T22:53:32.2604234Z             {
2026-06-07T22:53:32.2604353Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T22:53:32.2604438Z               "line": 21
2026-06-07T22:53:32.2604524Z             },
2026-06-07T22:53:32.2604611Z             {
2026-06-07T22:53:32.2604719Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T22:53:32.2604810Z               "line": 48
2026-06-07T22:53:32.2604892Z             },
2026-06-07T22:53:32.2604978Z             {
2026-06-07T22:53:32.2605086Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T22:53:32.2605183Z               "line": 142
2026-06-07T22:53:32.2605265Z             }
2026-06-07T22:53:32.2605348Z           ]
2026-06-07T22:53:32.2605434Z         },
2026-06-07T22:53:32.2605520Z         "int": {
2026-06-07T22:53:32.2605611Z           "complete": true,
2026-06-07T22:53:32.2605706Z           "evidence": [
2026-06-07T22:53:32.2605791Z             {
2026-06-07T22:53:32.2605926Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-07T22:53:32.2606015Z               "line": 10
2026-06-07T22:53:32.2606101Z             },
2026-06-07T22:53:32.2606188Z             {
2026-06-07T22:53:32.2606316Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-07T22:53:32.2606402Z               "line": 70
2026-06-07T22:53:32.2606488Z             }
2026-06-07T22:53:32.2606574Z           ]
2026-06-07T22:53:32.2606655Z         },
2026-06-07T22:53:32.2606740Z         "unit": {
2026-06-07T22:53:32.2606832Z           "complete": true,
2026-06-07T22:53:32.2606931Z           "evidence": [
2026-06-07T22:53:32.2607113Z             {
2026-06-07T22:53:32.2607222Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T22:53:32.2607312Z               "line": 196
2026-06-07T22:53:32.2607398Z             },
2026-06-07T22:53:32.2607486Z             {
2026-06-07T22:53:32.2607593Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T22:53:32.2607685Z               "line": 215
2026-06-07T22:53:32.2607776Z             },
2026-06-07T22:53:32.2607857Z             {
2026-06-07T22:53:32.2607965Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-07T22:53:32.2608055Z               "line": 237
2026-06-07T22:53:32.2608137Z             }
2026-06-07T22:53:32.2608221Z           ]
2026-06-07T22:53:32.2608315Z         }
2026-06-07T22:53:32.2608396Z       }
2026-06-07T22:53:32.2608483Z     },
2026-06-07T22:53:32.2608564Z     {
2026-06-07T22:53:32.2608653Z       "id": "REQ-MSG-4",
2026-06-07T22:53:32.2609455Z       "title": "Listener stream stdout emits EVENT envelope lines (sister-format, ADR-0001): parse the __REPLY_TO__ frame, pass pre-formed typed envelopes through verbatim (no double-wrap), compose <EVENT type=\"msg\" from=…> otherwise, chunk oversized lines into EVENT-PART",
2026-06-07T22:53:32.2609555Z       "requiredStages": [
2026-06-07T22:53:32.2609651Z         "impl",
2026-06-07T22:53:32.2609737Z         "unit",
2026-06-07T22:53:32.2609817Z         "int"
2026-06-07T22:53:32.2609898Z       ],
2026-06-07T22:53:32.2609985Z       "stages": {
2026-06-07T22:53:32.2610071Z         "doc": {
2026-06-07T22:53:32.2610160Z           "complete": false,
2026-06-07T22:53:32.2610251Z           "evidence": []
2026-06-07T22:53:32.2610334Z         },
2026-06-07T22:53:32.2610419Z         "impl": {
2026-06-07T22:53:32.2610508Z           "complete": true,
2026-06-07T22:53:32.2610593Z           "evidence": [
2026-06-07T22:53:32.2610675Z             {
2026-06-07T22:53:32.2610787Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-07T22:53:32.2610872Z               "line": 16
2026-06-07T22:53:32.2611059Z             },
2026-06-07T22:53:32.2611144Z             {
2026-06-07T22:53:32.2611249Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-07T22:53:32.2611336Z               "line": 25
2026-06-07T22:53:32.2611421Z             },
2026-06-07T22:53:32.2611587Z             {
2026-06-07T22:53:32.2611693Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-07T22:53:32.2611783Z               "line": 47
2026-06-07T22:53:32.2611864Z             },
2026-06-07T22:53:32.2611946Z             {
2026-06-07T22:53:32.2612055Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2612145Z               "line": 363
2026-06-07T22:53:32.2612227Z             },
2026-06-07T22:53:32.2612308Z             {
2026-06-07T22:53:32.2612412Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2612498Z               "line": 1806
2026-06-07T22:53:32.2612586Z             }
2026-06-07T22:53:32.2612666Z           ]
2026-06-07T22:53:32.2612751Z         },
2026-06-07T22:53:32.2612842Z         "int": {
2026-06-07T22:53:32.2612938Z           "complete": true,
2026-06-07T22:53:32.2613028Z           "evidence": [
2026-06-07T22:53:32.2613108Z             {
2026-06-07T22:53:32.2613232Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-07T22:53:32.2613326Z               "line": 93
2026-06-07T22:53:32.2613406Z             },
2026-06-07T22:53:32.2613486Z             {
2026-06-07T22:53:32.2613611Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-07T22:53:32.2613702Z               "line": 123
2026-06-07T22:53:32.2613782Z             }
2026-06-07T22:53:32.2613869Z           ]
2026-06-07T22:53:32.2613950Z         },
2026-06-07T22:53:32.2614035Z         "unit": {
2026-06-07T22:53:32.2614121Z           "complete": true,
2026-06-07T22:53:32.2614208Z           "evidence": [
2026-06-07T22:53:32.2614292Z             {
2026-06-07T22:53:32.2614397Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-07T22:53:32.2614484Z               "line": 62
2026-06-07T22:53:32.2614575Z             },
2026-06-07T22:53:32.2614656Z             {
2026-06-07T22:53:32.2614760Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-07T22:53:32.2614847Z               "line": 73
2026-06-07T22:53:32.2614932Z             },
2026-06-07T22:53:32.2615017Z             {
2026-06-07T22:53:32.2615124Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-07T22:53:32.2615209Z               "line": 84
2026-06-07T22:53:32.2615293Z             },
2026-06-07T22:53:32.2615370Z             {
2026-06-07T22:53:32.2615481Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-07T22:53:32.2615566Z               "line": 96
2026-06-07T22:53:32.2615646Z             },
2026-06-07T22:53:32.2615728Z             {
2026-06-07T22:53:32.2615834Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-07T22:53:32.2615927Z               "line": 105
2026-06-07T22:53:32.2616013Z             },
2026-06-07T22:53:32.2616094Z             {
2026-06-07T22:53:32.2616195Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-07T22:53:32.2616289Z               "line": 120
2026-06-07T22:53:32.2616370Z             }
2026-06-07T22:53:32.2616453Z           ]
2026-06-07T22:53:32.2616534Z         }
2026-06-07T22:53:32.2616618Z       }
2026-06-07T22:53:32.2616704Z     },
2026-06-07T22:53:32.2616786Z     {
2026-06-07T22:53:32.2616872Z       "id": "REQ-NET-1",
2026-06-07T22:53:32.2617139Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-07T22:53:32.2617229Z       "requiredStages": [
2026-06-07T22:53:32.2617319Z         "impl",
2026-06-07T22:53:32.2617406Z         "unit",
2026-06-07T22:53:32.2617486Z         "int"
2026-06-07T22:53:32.2617567Z       ],
2026-06-07T22:53:32.2617653Z       "stages": {
2026-06-07T22:53:32.2617736Z         "doc": {
2026-06-07T22:53:32.2617824Z           "complete": false,
2026-06-07T22:53:32.2617915Z           "evidence": []
2026-06-07T22:53:32.2617998Z         },
2026-06-07T22:53:32.2618083Z         "impl": {
2026-06-07T22:53:32.2618288Z           "complete": true,
2026-06-07T22:53:32.2618375Z           "evidence": [
2026-06-07T22:53:32.2618459Z             {
2026-06-07T22:53:32.2618577Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T22:53:32.2618673Z               "line": 54
2026-06-07T22:53:32.2618847Z             },
2026-06-07T22:53:32.2618932Z             {
2026-06-07T22:53:32.2619057Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T22:53:32.2619142Z               "line": 554
2026-06-07T22:53:32.2619223Z             },
2026-06-07T22:53:32.2619305Z             {
2026-06-07T22:53:32.2619420Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-07T22:53:32.2619509Z               "line": 69
2026-06-07T22:53:32.2619591Z             },
2026-06-07T22:53:32.2619672Z             {
2026-06-07T22:53:32.2619786Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2619876Z               "line": 65
2026-06-07T22:53:32.2619959Z             },
2026-06-07T22:53:32.2620053Z             {
2026-06-07T22:53:32.2620168Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2620259Z               "line": 127
2026-06-07T22:53:32.2620339Z             },
2026-06-07T22:53:32.2620420Z             {
2026-06-07T22:53:32.2620545Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2620631Z               "line": 143
2026-06-07T22:53:32.2620716Z             },
2026-06-07T22:53:32.2620797Z             {
2026-06-07T22:53:32.2620908Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2620997Z               "line": 158
2026-06-07T22:53:32.2621082Z             },
2026-06-07T22:53:32.2621168Z             {
2026-06-07T22:53:32.2621277Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2621366Z               "line": 235
2026-06-07T22:53:32.2621446Z             },
2026-06-07T22:53:32.2621528Z             {
2026-06-07T22:53:32.2621643Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2621733Z               "line": 270
2026-06-07T22:53:32.2621819Z             },
2026-06-07T22:53:32.2621901Z             {
2026-06-07T22:53:32.2622014Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2622109Z               "line": 276
2026-06-07T22:53:32.2622192Z             },
2026-06-07T22:53:32.2622272Z             {
2026-06-07T22:53:32.2622386Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2622472Z               "line": 282
2026-06-07T22:53:32.2622554Z             },
2026-06-07T22:53:32.2622649Z             {
2026-06-07T22:53:32.2622768Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2622850Z               "line": 298
2026-06-07T22:53:32.2622935Z             },
2026-06-07T22:53:32.2623016Z             {
2026-06-07T22:53:32.2623136Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2623226Z               "line": 318
2026-06-07T22:53:32.2623306Z             },
2026-06-07T22:53:32.2623397Z             {
2026-06-07T22:53:32.2623508Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-07T22:53:32.2623597Z               "line": 35
2026-06-07T22:53:32.2623687Z             },
2026-06-07T22:53:32.2623768Z             {
2026-06-07T22:53:32.2623891Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-07T22:53:32.2623980Z               "line": 85
2026-06-07T22:53:32.2624065Z             },
2026-06-07T22:53:32.2624143Z             {
2026-06-07T22:53:32.2624257Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2624342Z               "line": 135
2026-06-07T22:53:32.2624424Z             },
2026-06-07T22:53:32.2624505Z             {
2026-06-07T22:53:32.2624614Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2624700Z               "line": 1654
2026-06-07T22:53:32.2624782Z             },
2026-06-07T22:53:32.2624872Z             {
2026-06-07T22:53:32.2624976Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T22:53:32.2625144Z               "line": 17
2026-06-07T22:53:32.2625230Z             }
2026-06-07T22:53:32.2625310Z           ]
2026-06-07T22:53:32.2625392Z         },
2026-06-07T22:53:32.2625473Z         "int": {
2026-06-07T22:53:32.2625564Z           "complete": true,
2026-06-07T22:53:32.2625722Z           "evidence": [
2026-06-07T22:53:32.2625807Z             {
2026-06-07T22:53:32.2625935Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T22:53:32.2626022Z               "line": 330
2026-06-07T22:53:32.2626103Z             },
2026-06-07T22:53:32.2626182Z             {
2026-06-07T22:53:32.2626298Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2626385Z               "line": 603
2026-06-07T22:53:32.2626469Z             },
2026-06-07T22:53:32.2626554Z             {
2026-06-07T22:53:32.2626664Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2626755Z               "line": 876
2026-06-07T22:53:32.2626835Z             }
2026-06-07T22:53:32.2626930Z           ]
2026-06-07T22:53:32.2627104Z         },
2026-06-07T22:53:32.2627193Z         "unit": {
2026-06-07T22:53:32.2627289Z           "complete": true,
2026-06-07T22:53:32.2627375Z           "evidence": [
2026-06-07T22:53:32.2627460Z             {
2026-06-07T22:53:32.2627574Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T22:53:32.2627666Z               "line": 610
2026-06-07T22:53:32.2627746Z             },
2026-06-07T22:53:32.2627831Z             {
2026-06-07T22:53:32.2627942Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T22:53:32.2628028Z               "line": 645
2026-06-07T22:53:32.2628118Z             },
2026-06-07T22:53:32.2628199Z             {
2026-06-07T22:53:32.2628319Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T22:53:32.2628404Z               "line": 803
2026-06-07T22:53:32.2628490Z             },
2026-06-07T22:53:32.2628577Z             {
2026-06-07T22:53:32.2628690Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-07T22:53:32.2628780Z               "line": 151
2026-06-07T22:53:32.2628868Z             },
2026-06-07T22:53:32.2628949Z             {
2026-06-07T22:53:32.2629061Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2629156Z               "line": 391
2026-06-07T22:53:32.2631201Z             },
2026-06-07T22:53:32.2631305Z             {
2026-06-07T22:53:32.2631444Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2631534Z               "line": 405
2026-06-07T22:53:32.2631619Z             },
2026-06-07T22:53:32.2631699Z             {
2026-06-07T22:53:32.2631828Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2631916Z               "line": 424
2026-06-07T22:53:32.2632002Z             },
2026-06-07T22:53:32.2632088Z             {
2026-06-07T22:53:32.2632208Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-07T22:53:32.2632298Z               "line": 119
2026-06-07T22:53:32.2632393Z             },
2026-06-07T22:53:32.2632475Z             {
2026-06-07T22:53:32.2632593Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-07T22:53:32.2632679Z               "line": 162
2026-06-07T22:53:32.2632766Z             },
2026-06-07T22:53:32.2632856Z             {
2026-06-07T22:53:32.2632975Z               "path": "crates/spt-store/src/spool.rs",
2026-06-07T22:53:32.2633062Z               "line": 492
2026-06-07T22:53:32.2633147Z             },
2026-06-07T22:53:32.2633232Z             {
2026-06-07T22:53:32.2633338Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T22:53:32.2633433Z               "line": 602
2026-06-07T22:53:32.2633514Z             },
2026-06-07T22:53:32.2633600Z             {
2026-06-07T22:53:32.2633706Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T22:53:32.2633791Z               "line": 991
2026-06-07T22:53:32.2633900Z             }
2026-06-07T22:53:32.2633996Z           ]
2026-06-07T22:53:32.2634096Z         }
2026-06-07T22:53:32.2634295Z       }
2026-06-07T22:53:32.2634376Z     },
2026-06-07T22:53:32.2634460Z     {
2026-06-07T22:53:32.2634559Z       "id": "REQ-NET-2",
2026-06-07T22:53:32.2634761Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-07T22:53:32.2634955Z       "requiredStages": [
2026-06-07T22:53:32.2635032Z         "impl"
2026-06-07T22:53:32.2635109Z       ],
2026-06-07T22:53:32.2635198Z       "stages": {
2026-06-07T22:53:32.2635284Z         "doc": {
2026-06-07T22:53:32.2635395Z           "complete": false,
2026-06-07T22:53:32.2635522Z           "evidence": []
2026-06-07T22:53:32.2635614Z         },
2026-06-07T22:53:32.2635723Z         "impl": {
2026-06-07T22:53:32.2635813Z           "complete": true,
2026-06-07T22:53:32.2635904Z           "evidence": [
2026-06-07T22:53:32.2635991Z             {
2026-06-07T22:53:32.2636114Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T22:53:32.2636205Z               "line": 57
2026-06-07T22:53:32.2636286Z             },
2026-06-07T22:53:32.2636381Z             {
2026-06-07T22:53:32.2636500Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2636592Z               "line": 39
2026-06-07T22:53:32.2636677Z             },
2026-06-07T22:53:32.2636766Z             {
2026-06-07T22:53:32.2636888Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2637071Z               "line": 49
2026-06-07T22:53:32.2637157Z             },
2026-06-07T22:53:32.2637238Z             {
2026-06-07T22:53:32.2637363Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2637448Z               "line": 127
2026-06-07T22:53:32.2637534Z             },
2026-06-07T22:53:32.2637620Z             {
2026-06-07T22:53:32.2637734Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2637824Z               "line": 143
2026-06-07T22:53:32.2637906Z             },
2026-06-07T22:53:32.2637988Z             {
2026-06-07T22:53:32.2638106Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-07T22:53:32.2638202Z               "line": 158
2026-06-07T22:53:32.2638287Z             }
2026-06-07T22:53:32.2638368Z           ]
2026-06-07T22:53:32.2638454Z         },
2026-06-07T22:53:32.2638536Z         "int": {
2026-06-07T22:53:32.2638644Z           "complete": false,
2026-06-07T22:53:32.2638735Z           "evidence": []
2026-06-07T22:53:32.2638818Z         },
2026-06-07T22:53:32.2638908Z         "unit": {
2026-06-07T22:53:32.2638998Z           "complete": true,
2026-06-07T22:53:32.2639079Z           "evidence": [
2026-06-07T22:53:32.2639161Z             {
2026-06-07T22:53:32.2639274Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T22:53:32.2639355Z               "line": 402
2026-06-07T22:53:32.2639433Z             }
2026-06-07T22:53:32.2639523Z           ]
2026-06-07T22:53:32.2639603Z         }
2026-06-07T22:53:32.2639683Z       }
2026-06-07T22:53:32.2639769Z     },
2026-06-07T22:53:32.2639850Z     {
2026-06-07T22:53:32.2639948Z       "id": "REQ-NET-3",
2026-06-07T22:53:32.2640120Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-07T22:53:32.2640216Z       "requiredStages": [
2026-06-07T22:53:32.2640300Z         "impl",
2026-06-07T22:53:32.2640387Z         "unit"
2026-06-07T22:53:32.2640473Z       ],
2026-06-07T22:53:32.2640564Z       "stages": {
2026-06-07T22:53:32.2640649Z         "doc": {
2026-06-07T22:53:32.2640740Z           "complete": false,
2026-06-07T22:53:32.2640830Z           "evidence": []
2026-06-07T22:53:32.2640916Z         },
2026-06-07T22:53:32.2641001Z         "impl": {
2026-06-07T22:53:32.2641093Z           "complete": true,
2026-06-07T22:53:32.2641183Z           "evidence": [
2026-06-07T22:53:32.2641268Z             {
2026-06-07T22:53:32.2641384Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T22:53:32.2641469Z               "line": 39
2026-06-07T22:53:32.2641555Z             },
2026-06-07T22:53:32.2641636Z             {
2026-06-07T22:53:32.2641747Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T22:53:32.2641937Z               "line": 179
2026-06-07T22:53:32.2642028Z             },
2026-06-07T22:53:32.2642108Z             {
2026-06-07T22:53:32.2642222Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-07T22:53:32.2642416Z               "line": 330
2026-06-07T22:53:32.2642505Z             },
2026-06-07T22:53:32.2642590Z             {
2026-06-07T22:53:32.2642701Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-07T22:53:32.2642796Z               "line": 36
2026-06-07T22:53:32.2642877Z             },
2026-06-07T22:53:32.2642958Z             {
2026-06-07T22:53:32.2643083Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.2643172Z               "line": 158
2026-06-07T22:53:32.2643249Z             },
2026-06-07T22:53:32.2643336Z             {
2026-06-07T22:53:32.2643459Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.2643544Z               "line": 212
2026-06-07T22:53:32.2643636Z             },
2026-06-07T22:53:32.2643716Z             {
2026-06-07T22:53:32.2643840Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.2643922Z               "line": 233
2026-06-07T22:53:32.2644012Z             },
2026-06-07T22:53:32.2644107Z             {
2026-06-07T22:53:32.2644222Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.2644313Z               "line": 291
2026-06-07T22:53:32.2644393Z             },
2026-06-07T22:53:32.2644479Z             {
2026-06-07T22:53:32.2644595Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.2644684Z               "line": 310
2026-06-07T22:53:32.2644765Z             },
2026-06-07T22:53:32.2644850Z             {
2026-06-07T22:53:32.2644969Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.2645053Z               "line": 348
2026-06-07T22:53:32.2645138Z             },
2026-06-07T22:53:32.2645220Z             {
2026-06-07T22:53:32.2645335Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.2645429Z               "line": 393
2026-06-07T22:53:32.2645510Z             },
2026-06-07T22:53:32.2645597Z             {
2026-06-07T22:53:32.2645711Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.2645806Z               "line": 406
2026-06-07T22:53:32.2645888Z             },
2026-06-07T22:53:32.2645973Z             {
2026-06-07T22:53:32.2646092Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T22:53:32.2646179Z               "line": 29
2026-06-07T22:53:32.2646269Z             },
2026-06-07T22:53:32.2646355Z             {
2026-06-07T22:53:32.2646469Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T22:53:32.2646560Z               "line": 72
2026-06-07T22:53:32.2646641Z             },
2026-06-07T22:53:32.2646726Z             {
2026-06-07T22:53:32.2646842Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T22:53:32.2646932Z               "line": 123
2026-06-07T22:53:32.2647104Z             }
2026-06-07T22:53:32.2647195Z           ]
2026-06-07T22:53:32.2647279Z         },
2026-06-07T22:53:32.2647361Z         "int": {
2026-06-07T22:53:32.2647457Z           "complete": false,
2026-06-07T22:53:32.2647552Z           "evidence": []
2026-06-07T22:53:32.2647636Z         },
2026-06-07T22:53:32.2647722Z         "unit": {
2026-06-07T22:53:32.2647813Z           "complete": true,
2026-06-07T22:53:32.2647904Z           "evidence": [
2026-06-07T22:53:32.2647988Z             {
2026-06-07T22:53:32.2648104Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-07T22:53:32.2648190Z               "line": 214
2026-06-07T22:53:32.2648280Z             },
2026-06-07T22:53:32.2648361Z             {
2026-06-07T22:53:32.2648476Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-07T22:53:32.2648562Z               "line": 342
2026-06-07T22:53:32.2648642Z             },
2026-06-07T22:53:32.2648724Z             {
2026-06-07T22:53:32.2648838Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-07T22:53:32.2649028Z               "line": 493
2026-06-07T22:53:32.2649115Z             },
2026-06-07T22:53:32.2649195Z             {
2026-06-07T22:53:32.2649310Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-07T22:53:32.2649491Z               "line": 93
2026-06-07T22:53:32.2649577Z             },
2026-06-07T22:53:32.2649658Z             {
2026-06-07T22:53:32.2649769Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-07T22:53:32.2649853Z               "line": 142
2026-06-07T22:53:32.2649939Z             },
2026-06-07T22:53:32.2650022Z             {
2026-06-07T22:53:32.2650135Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T22:53:32.2650224Z               "line": 315
2026-06-07T22:53:32.2650305Z             },
2026-06-07T22:53:32.2650386Z             {
2026-06-07T22:53:32.2650499Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T22:53:32.2650589Z               "line": 355
2026-06-07T22:53:32.2650685Z             },
2026-06-07T22:53:32.2650766Z             {
2026-06-07T22:53:32.2650880Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-07T22:53:32.2650966Z               "line": 494
2026-06-07T22:53:32.2651048Z             }
2026-06-07T22:53:32.2651138Z           ]
2026-06-07T22:53:32.2651218Z         }
2026-06-07T22:53:32.2651300Z       }
2026-06-07T22:53:32.2651386Z     },
2026-06-07T22:53:32.2651467Z     {
2026-06-07T22:53:32.2651562Z       "id": "REQ-NODE-IDENTITY",
2026-06-07T22:53:32.2651782Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-07T22:53:32.2651877Z       "requiredStages": [
2026-06-07T22:53:32.2651959Z         "impl",
2026-06-07T22:53:32.2652044Z         "unit"
2026-06-07T22:53:32.2652162Z       ],
2026-06-07T22:53:32.2652254Z       "stages": {
2026-06-07T22:53:32.2652340Z         "doc": {
2026-06-07T22:53:32.2652430Z           "complete": false,
2026-06-07T22:53:32.2652516Z           "evidence": []
2026-06-07T22:53:32.2652603Z         },
2026-06-07T22:53:32.2652687Z         "impl": {
2026-06-07T22:53:32.2652777Z           "complete": true,
2026-06-07T22:53:32.2652867Z           "evidence": [
2026-06-07T22:53:32.2652944Z             {
2026-06-07T22:53:32.2653070Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T22:53:32.2653155Z               "line": 60
2026-06-07T22:53:32.2653237Z             },
2026-06-07T22:53:32.2653318Z             {
2026-06-07T22:53:32.2653432Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T22:53:32.2653519Z               "line": 68
2026-06-07T22:53:32.2653600Z             },
2026-06-07T22:53:32.2653686Z             {
2026-06-07T22:53:32.2653794Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T22:53:32.2653882Z               "line": 86
2026-06-07T22:53:32.2653962Z             },
2026-06-07T22:53:32.2654042Z             {
2026-06-07T22:53:32.2654158Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T22:53:32.2654248Z               "line": 120
2026-06-07T22:53:32.2654339Z             },
2026-06-07T22:53:32.2654420Z             {
2026-06-07T22:53:32.2654531Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T22:53:32.2654620Z               "line": 127
2026-06-07T22:53:32.2654705Z             },
2026-06-07T22:53:32.2654782Z             {
2026-06-07T22:53:32.2654892Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T22:53:32.2654982Z               "line": 143
2026-06-07T22:53:32.2655063Z             },
2026-06-07T22:53:32.2655145Z             {
2026-06-07T22:53:32.2655254Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-07T22:53:32.2655344Z               "line": 16
2026-06-07T22:53:32.2655429Z             }
2026-06-07T22:53:32.2655506Z           ]
2026-06-07T22:53:32.2655589Z         },
2026-06-07T22:53:32.2655670Z         "int": {
2026-06-07T22:53:32.2655761Z           "complete": false,
2026-06-07T22:53:32.2655852Z           "evidence": []
2026-06-07T22:53:32.2656013Z         },
2026-06-07T22:53:32.2656094Z         "unit": {
2026-06-07T22:53:32.2656186Z           "complete": true,
2026-06-07T22:53:32.2656271Z           "evidence": [
2026-06-07T22:53:32.2656356Z             {
2026-06-07T22:53:32.2656467Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T22:53:32.2656624Z               "line": 199
2026-06-07T22:53:32.2656705Z             },
2026-06-07T22:53:32.2656791Z             {
2026-06-07T22:53:32.2656901Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T22:53:32.2657078Z               "line": 218
2026-06-07T22:53:32.2657163Z             },
2026-06-07T22:53:32.2657244Z             {
2026-06-07T22:53:32.2657364Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T22:53:32.2657449Z               "line": 234
2026-06-07T22:53:32.2657534Z             },
2026-06-07T22:53:32.2657616Z             {
2026-06-07T22:53:32.2657731Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-07T22:53:32.2657825Z               "line": 256
2026-06-07T22:53:32.2657906Z             },
2026-06-07T22:53:32.2657988Z             {
2026-06-07T22:53:32.2658098Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-07T22:53:32.2658182Z               "line": 124
2026-06-07T22:53:32.2658267Z             },
2026-06-07T22:53:32.2658354Z             {
2026-06-07T22:53:32.2658464Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-07T22:53:32.2658549Z               "line": 140
2026-06-07T22:53:32.2658635Z             },
2026-06-07T22:53:32.2658712Z             {
2026-06-07T22:53:32.2658821Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-07T22:53:32.2658911Z               "line": 155
2026-06-07T22:53:32.2658989Z             }
2026-06-07T22:53:32.2659070Z           ]
2026-06-07T22:53:32.2659150Z         }
2026-06-07T22:53:32.2659235Z       }
2026-06-07T22:53:32.2659313Z     },
2026-06-07T22:53:32.2659393Z     {
2026-06-07T22:53:32.2659484Z       "id": "REQ-NOTIF-1",
2026-06-07T22:53:32.2659832Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-07T22:53:32.2659938Z       "requiredStages": [
2026-06-07T22:53:32.2660019Z         "impl",
2026-06-07T22:53:32.2660108Z         "unit",
2026-06-07T22:53:32.2660199Z         "int"
2026-06-07T22:53:32.2660310Z       ],
2026-06-07T22:53:32.2660394Z       "stages": {
2026-06-07T22:53:32.2660466Z         "doc": {
2026-06-07T22:53:32.2660563Z           "complete": false,
2026-06-07T22:53:32.2660648Z           "evidence": []
2026-06-07T22:53:32.2660737Z         },
2026-06-07T22:53:32.2660832Z         "impl": {
2026-06-07T22:53:32.2660932Z           "complete": true,
2026-06-07T22:53:32.2661022Z           "evidence": [
2026-06-07T22:53:32.2661101Z             {
2026-06-07T22:53:32.2661216Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T22:53:32.2661302Z               "line": 474
2026-06-07T22:53:32.2661383Z             },
2026-06-07T22:53:32.2661473Z             {
2026-06-07T22:53:32.2661584Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2661670Z               "line": 30
2026-06-07T22:53:32.2661754Z             },
2026-06-07T22:53:32.2661836Z             {
2026-06-07T22:53:32.2661956Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2662041Z               "line": 62
2026-06-07T22:53:32.2662122Z             },
2026-06-07T22:53:32.2662204Z             {
2026-06-07T22:53:32.2662313Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2662398Z               "line": 86
2026-06-07T22:53:32.2662480Z             },
2026-06-07T22:53:32.2662562Z             {
2026-06-07T22:53:32.2662671Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2662756Z               "line": 100
2026-06-07T22:53:32.2662843Z             },
2026-06-07T22:53:32.2662933Z             {
2026-06-07T22:53:32.2663042Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2663234Z               "line": 135
2026-06-07T22:53:32.2663313Z             },
2026-06-07T22:53:32.2663398Z             {
2026-06-07T22:53:32.2663509Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2663597Z               "line": 180
2026-06-07T22:53:32.2663874Z             },
2026-06-07T22:53:32.2663959Z             {
2026-06-07T22:53:32.2664074Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2664165Z               "line": 251
2026-06-07T22:53:32.2664255Z             },
2026-06-07T22:53:32.2664336Z             {
2026-06-07T22:53:32.2664451Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2664541Z               "line": 361
2026-06-07T22:53:32.2664621Z             },
2026-06-07T22:53:32.2664708Z             {
2026-06-07T22:53:32.2664818Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2664908Z               "line": 421
2026-06-07T22:53:32.2664994Z             },
2026-06-07T22:53:32.2665091Z             {
2026-06-07T22:53:32.2665213Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T22:53:32.2665304Z               "line": 24
2026-06-07T22:53:32.2665386Z             },
2026-06-07T22:53:32.2665471Z             {
2026-06-07T22:53:32.2665594Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T22:53:32.2665686Z               "line": 34
2026-06-07T22:53:32.2665767Z             },
2026-06-07T22:53:32.2665851Z             {
2026-06-07T22:53:32.2665975Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T22:53:32.2666061Z               "line": 58
2026-06-07T22:53:32.2666145Z             },
2026-06-07T22:53:32.2666230Z             {
2026-06-07T22:53:32.2666345Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T22:53:32.2666432Z               "line": 79
2026-06-07T22:53:32.2666516Z             },
2026-06-07T22:53:32.2666601Z             {
2026-06-07T22:53:32.2666717Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T22:53:32.2666807Z               "line": 91
2026-06-07T22:53:32.2666893Z             },
2026-06-07T22:53:32.2667065Z             {
2026-06-07T22:53:32.2667184Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.2667275Z               "line": 41
2026-06-07T22:53:32.2667361Z             },
2026-06-07T22:53:32.2667446Z             {
2026-06-07T22:53:32.2667560Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T22:53:32.2667653Z               "line": 96
2026-06-07T22:53:32.2667737Z             },
2026-06-07T22:53:32.2667818Z             {
2026-06-07T22:53:32.2667938Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-07T22:53:32.2668024Z               "line": 20
2026-06-07T22:53:32.2668109Z             },
2026-06-07T22:53:32.2668190Z             {
2026-06-07T22:53:32.2668301Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-07T22:53:32.2668390Z               "line": 30
2026-06-07T22:53:32.2668476Z             },
2026-06-07T22:53:32.2668563Z             {
2026-06-07T22:53:32.2668677Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-07T22:53:32.2668766Z               "line": 50
2026-06-07T22:53:32.2668851Z             },
2026-06-07T22:53:32.2668938Z             {
2026-06-07T22:53:32.2669057Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T22:53:32.2669146Z               "line": 28
2026-06-07T22:53:32.2669229Z             },
2026-06-07T22:53:32.2669310Z             {
2026-06-07T22:53:32.2669424Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T22:53:32.2669510Z               "line": 126
2026-06-07T22:53:32.2669601Z             },
2026-06-07T22:53:32.2669682Z             {
2026-06-07T22:53:32.2669790Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T22:53:32.2669883Z               "line": 161
2026-06-07T22:53:32.2669968Z             },
2026-06-07T22:53:32.2670053Z             {
2026-06-07T22:53:32.2670158Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T22:53:32.2670354Z               "line": 202
2026-06-07T22:53:32.2670440Z             },
2026-06-07T22:53:32.2670527Z             {
2026-06-07T22:53:32.2670635Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T22:53:32.2670721Z               "line": 213
2026-06-07T22:53:32.2670917Z             },
2026-06-07T22:53:32.2670997Z             {
2026-06-07T22:53:32.2671108Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T22:53:32.2671208Z               "line": 238
2026-06-07T22:53:32.2671293Z             },
2026-06-07T22:53:32.2671382Z             {
2026-06-07T22:53:32.2671488Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T22:53:32.2671586Z               "line": 261
2026-06-07T22:53:32.2671671Z             },
2026-06-07T22:53:32.2671757Z             {
2026-06-07T22:53:32.2671872Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2671962Z               "line": 63
2026-06-07T22:53:32.2672048Z             }
2026-06-07T22:53:32.2672139Z           ]
2026-06-07T22:53:32.2672225Z         },
2026-06-07T22:53:32.2672310Z         "int": {
2026-06-07T22:53:32.2672401Z           "complete": true,
2026-06-07T22:53:32.2672492Z           "evidence": [
2026-06-07T22:53:32.2672573Z             {
2026-06-07T22:53:32.2672711Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T22:53:32.2672797Z               "line": 274
2026-06-07T22:53:32.2672883Z             },
2026-06-07T22:53:32.2672968Z             {
2026-06-07T22:53:32.2673088Z               "path": "crates/spt-daemon/tests/peerloop.rs",
2026-06-07T22:53:32.2673178Z               "line": 102
2026-06-07T22:53:32.2673259Z             },
2026-06-07T22:53:32.2673345Z             {
2026-06-07T22:53:32.2673460Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2673550Z               "line": 612
2026-06-07T22:53:32.2673636Z             },
2026-06-07T22:53:32.2673718Z             {
2026-06-07T22:53:32.2673836Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2673930Z               "line": 1005
2026-06-07T22:53:32.2674017Z             }
2026-06-07T22:53:32.2674097Z           ]
2026-06-07T22:53:32.2674190Z         },
2026-06-07T22:53:32.2674276Z         "unit": {
2026-06-07T22:53:32.2674372Z           "complete": true,
2026-06-07T22:53:32.2674463Z           "evidence": [
2026-06-07T22:53:32.2674543Z             {
2026-06-07T22:53:32.2674658Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2674744Z               "line": 514
2026-06-07T22:53:32.2674829Z             },
2026-06-07T22:53:32.2674915Z             {
2026-06-07T22:53:32.2675026Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2675116Z               "line": 563
2026-06-07T22:53:32.2675196Z             },
2026-06-07T22:53:32.2675278Z             {
2026-06-07T22:53:32.2675392Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2675483Z               "line": 666
2026-06-07T22:53:32.2675568Z             },
2026-06-07T22:53:32.2675655Z             {
2026-06-07T22:53:32.2675768Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2675859Z               "line": 698
2026-06-07T22:53:32.2675941Z             },
2026-06-07T22:53:32.2676031Z             {
2026-06-07T22:53:32.2676140Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2676232Z               "line": 766
2026-06-07T22:53:32.2676313Z             },
2026-06-07T22:53:32.2676397Z             {
2026-06-07T22:53:32.2676506Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2676597Z               "line": 824
2026-06-07T22:53:32.2676682Z             },
2026-06-07T22:53:32.2676767Z             {
2026-06-07T22:53:32.2676876Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2677053Z               "line": 1045
2026-06-07T22:53:32.2677138Z             },
2026-06-07T22:53:32.2677220Z             {
2026-06-07T22:53:32.2677340Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T22:53:32.2677534Z               "line": 140
2026-06-07T22:53:32.2677620Z             },
2026-06-07T22:53:32.2677706Z             {
2026-06-07T22:53:32.2677820Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T22:53:32.2678002Z               "line": 233
2026-06-07T22:53:32.2678082Z             },
2026-06-07T22:53:32.2678169Z             {
2026-06-07T22:53:32.2678287Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-07T22:53:32.2678383Z               "line": 256
2026-06-07T22:53:32.2678475Z             },
2026-06-07T22:53:32.2678556Z             {
2026-06-07T22:53:32.2678674Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T22:53:32.2678760Z               "line": 341
2026-06-07T22:53:32.2678847Z             },
2026-06-07T22:53:32.2678931Z             {
2026-06-07T22:53:32.2679046Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-07T22:53:32.2679133Z               "line": 373
2026-06-07T22:53:32.2679227Z             },
2026-06-07T22:53:32.2679317Z             {
2026-06-07T22:53:32.2679440Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-07T22:53:32.2679532Z               "line": 117
2026-06-07T22:53:32.2679612Z             },
2026-06-07T22:53:32.2679698Z             {
2026-06-07T22:53:32.2679809Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-07T22:53:32.2679894Z               "line": 72
2026-06-07T22:53:32.2679974Z             },
2026-06-07T22:53:32.2680055Z             {
2026-06-07T22:53:32.2680170Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-07T22:53:32.2680256Z               "line": 97
2026-06-07T22:53:32.2680341Z             },
2026-06-07T22:53:32.2680429Z             {
2026-06-07T22:53:32.2680537Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T22:53:32.2680628Z               "line": 379
2026-06-07T22:53:32.2680709Z             },
2026-06-07T22:53:32.2680791Z             {
2026-06-07T22:53:32.2680899Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T22:53:32.2680990Z               "line": 417
2026-06-07T22:53:32.2681073Z             },
2026-06-07T22:53:32.2681153Z             {
2026-06-07T22:53:32.2681262Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T22:53:32.2681353Z               "line": 433
2026-06-07T22:53:32.2681434Z             },
2026-06-07T22:53:32.2681519Z             {
2026-06-07T22:53:32.2681624Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T22:53:32.2681712Z               "line": 472
2026-06-07T22:53:32.2681797Z             },
2026-06-07T22:53:32.2681881Z             {
2026-06-07T22:53:32.2681986Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T22:53:32.2682071Z               "line": 489
2026-06-07T22:53:32.2682156Z             },
2026-06-07T22:53:32.2682236Z             {
2026-06-07T22:53:32.2682332Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T22:53:32.2682423Z               "line": 517
2026-06-07T22:53:32.2682513Z             },
2026-06-07T22:53:32.2682593Z             {
2026-06-07T22:53:32.2682704Z               "path": "crates/spt-store/src/notif.rs",
2026-06-07T22:53:32.2682828Z               "line": 548
2026-06-07T22:53:32.2682913Z             },
2026-06-07T22:53:32.2682991Z             {
2026-06-07T22:53:32.2683100Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2683199Z               "line": 455
2026-06-07T22:53:32.2683315Z             }
2026-06-07T22:53:32.2683610Z           ]
2026-06-07T22:53:32.2683862Z         }
2026-06-07T22:53:32.2684053Z       }
2026-06-07T22:53:32.2684206Z     },
2026-06-07T22:53:32.2684358Z     {
2026-06-07T22:53:32.2684524Z       "id": "REQ-NOTIF-2",
2026-06-07T22:53:32.2684879Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-07T22:53:32.2685295Z       "requiredStages": [
2026-06-07T22:53:32.2685494Z         "doc",
2026-06-07T22:53:32.2685656Z         "impl",
2026-06-07T22:53:32.2685915Z         "unit",
2026-06-07T22:53:32.2686080Z         "int"
2026-06-07T22:53:32.2686229Z       ],
2026-06-07T22:53:32.2686386Z       "stages": {
2026-06-07T22:53:32.2686573Z         "doc": {
2026-06-07T22:53:32.2686763Z           "complete": true,
2026-06-07T22:53:32.2687143Z           "evidence": [
2026-06-07T22:53:32.2687341Z             {
2026-06-07T22:53:32.2687518Z               "path": "CONTEXT.md",
2026-06-07T22:53:32.2687751Z               "line": 346
2026-06-07T22:53:32.2687937Z             },
2026-06-07T22:53:32.2688104Z             {
2026-06-07T22:53:32.2688280Z               "path": "docs/MANIFEST.md",
2026-06-07T22:53:32.2688509Z               "line": 62
2026-06-07T22:53:32.2688695Z             }
2026-06-07T22:53:32.2688857Z           ]
2026-06-07T22:53:32.2689015Z         },
2026-06-07T22:53:32.2689176Z         "impl": {
2026-06-07T22:53:32.2689354Z           "complete": true,
2026-06-07T22:53:32.2689553Z           "evidence": [
2026-06-07T22:53:32.2689731Z             {
2026-06-07T22:53:32.2689938Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2690201Z               "line": 280
2026-06-07T22:53:32.2690388Z             },
2026-06-07T22:53:32.2690572Z             {
2026-06-07T22:53:32.2690811Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2691069Z               "line": 294
2026-06-07T22:53:32.2691250Z             },
2026-06-07T22:53:32.2691412Z             {
2026-06-07T22:53:32.2691603Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2691846Z               "line": 319
2026-06-07T22:53:32.2692032Z             },
2026-06-07T22:53:32.2692189Z             {
2026-06-07T22:53:32.2692389Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.2692650Z               "line": 126
2026-06-07T22:53:32.2692838Z             },
2026-06-07T22:53:32.2693002Z             {
2026-06-07T22:53:32.2693192Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2693445Z               "line": 72
2026-06-07T22:53:32.2697256Z             },
2026-06-07T22:53:32.2697481Z             {
2026-06-07T22:53:32.2697689Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2697939Z               "line": 1352
2026-06-07T22:53:32.2698131Z             },
2026-06-07T22:53:32.2698311Z             {
2026-06-07T22:53:32.2698498Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2698741Z               "line": 1401
2026-06-07T22:53:32.2698926Z             },
2026-06-07T22:53:32.2699088Z             {
2026-06-07T22:53:32.2699270Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2699508Z               "line": 1480
2026-06-07T22:53:32.2699690Z             },
2026-06-07T22:53:32.2699851Z             {
2026-06-07T22:53:32.2700029Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2700287Z               "line": 1519
2026-06-07T22:53:32.2700470Z             }
2026-06-07T22:53:32.2700628Z           ]
2026-06-07T22:53:32.2700785Z         },
2026-06-07T22:53:32.2700953Z         "int": {
2026-06-07T22:53:32.2701132Z           "complete": true,
2026-06-07T22:53:32.2701344Z           "evidence": [
2026-06-07T22:53:32.2701539Z             {
2026-06-07T22:53:32.2701748Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2702025Z               "line": 738
2026-06-07T22:53:32.2702212Z             },
2026-06-07T22:53:32.2702396Z             {
2026-06-07T22:53:32.2702588Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2702851Z               "line": 1158
2026-06-07T22:53:32.2703044Z             }
2026-06-07T22:53:32.2703891Z           ]
2026-06-07T22:53:32.2704052Z         },
2026-06-07T22:53:32.2704253Z         "unit": {
2026-06-07T22:53:32.2704435Z           "complete": true,
2026-06-07T22:53:32.2704634Z           "evidence": [
2026-06-07T22:53:32.2704806Z             {
2026-06-07T22:53:32.2704996Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2705250Z               "line": 894
2026-06-07T22:53:32.2705837Z             },
2026-06-07T22:53:32.2705999Z             {
2026-06-07T22:53:32.2706185Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2706472Z               "line": 962
2026-06-07T22:53:32.2706658Z             },
2026-06-07T22:53:32.2706934Z             {
2026-06-07T22:53:32.2707220Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2707463Z               "line": 4785
2026-06-07T22:53:32.2707650Z             },
2026-06-07T22:53:32.2707811Z             {
2026-06-07T22:53:32.2707984Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2708220Z               "line": 4840
2026-06-07T22:53:32.2708404Z             }
2026-06-07T22:53:32.2708561Z           ]
2026-06-07T22:53:32.2708719Z         }
2026-06-07T22:53:32.2708876Z       }
2026-06-07T22:53:32.2709039Z     },
2026-06-07T22:53:32.2709196Z     {
2026-06-07T22:53:32.2709363Z       "id": "REQ-PAIR-1",
2026-06-07T22:53:32.2709583Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-07T22:53:32.2709830Z       "requiredStages": [
2026-06-07T22:53:32.2710020Z         "impl",
2026-06-07T22:53:32.2710188Z         "unit",
2026-06-07T22:53:32.2710354Z         "int"
2026-06-07T22:53:32.2710513Z       ],
2026-06-07T22:53:32.2710677Z       "stages": {
2026-06-07T22:53:32.2710861Z         "doc": {
2026-06-07T22:53:32.2711040Z           "complete": false,
2026-06-07T22:53:32.2711245Z           "evidence": []
2026-06-07T22:53:32.2711426Z         },
2026-06-07T22:53:32.2711594Z         "impl": {
2026-06-07T22:53:32.2711770Z           "complete": true,
2026-06-07T22:53:32.2711969Z           "evidence": [
2026-06-07T22:53:32.2712147Z             {
2026-06-07T22:53:32.2712375Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2712647Z               "line": 27
2026-06-07T22:53:32.2712829Z             },
2026-06-07T22:53:32.2712995Z             {
2026-06-07T22:53:32.2713194Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2713463Z               "line": 88
2026-06-07T22:53:32.2713661Z             },
2026-06-07T22:53:32.2713827Z             {
2026-06-07T22:53:32.2714036Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2714303Z               "line": 110
2026-06-07T22:53:32.2714494Z             },
2026-06-07T22:53:32.2714656Z             {
2026-06-07T22:53:32.2714855Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2715381Z               "line": 153
2026-06-07T22:53:32.2715561Z             },
2026-06-07T22:53:32.2715733Z             {
2026-06-07T22:53:32.2715939Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2716218Z               "line": 182
2026-06-07T22:53:32.2716397Z             },
2026-06-07T22:53:32.2716564Z             {
2026-06-07T22:53:32.2716769Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T22:53:32.2717131Z               "line": 29
2026-06-07T22:53:32.2717309Z             },
2026-06-07T22:53:32.2717479Z             {
2026-06-07T22:53:32.2717718Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-07T22:53:32.2717999Z               "line": 31
2026-06-07T22:53:32.2718182Z             },
2026-06-07T22:53:32.2718343Z             {
2026-06-07T22:53:32.2718553Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T22:53:32.2718814Z               "line": 40
2026-06-07T22:53:32.2718998Z             },
2026-06-07T22:53:32.2719155Z             {
2026-06-07T22:53:32.2719355Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T22:53:32.2719622Z               "line": 165
2026-06-07T22:53:32.2719804Z             },
2026-06-07T22:53:32.2719965Z             {
2026-06-07T22:53:32.2720161Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T22:53:32.2720415Z               "line": 359
2026-06-07T22:53:32.2720619Z             }
2026-06-07T22:53:32.2720777Z           ]
2026-06-07T22:53:32.2720929Z         },
2026-06-07T22:53:32.2721233Z         "int": {
2026-06-07T22:53:32.2721411Z           "complete": true,
2026-06-07T22:53:32.2721609Z           "evidence": [
2026-06-07T22:53:32.2721786Z             {
2026-06-07T22:53:32.2721986Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2722345Z               "line": 573
2026-06-07T22:53:32.2722525Z             },
2026-06-07T22:53:32.2722688Z             {
2026-06-07T22:53:32.2722882Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2723135Z               "line": 790
2026-06-07T22:53:32.2723318Z             }
2026-06-07T22:53:32.2723484Z           ]
2026-06-07T22:53:32.2723642Z         },
2026-06-07T22:53:32.2723797Z         "unit": {
2026-06-07T22:53:32.2723971Z           "complete": true,
2026-06-07T22:53:32.2724159Z           "evidence": [
2026-06-07T22:53:32.2724336Z             {
2026-06-07T22:53:32.2724538Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2724805Z               "line": 236
2026-06-07T22:53:32.2725036Z             },
2026-06-07T22:53:32.2725197Z             {
2026-06-07T22:53:32.2725402Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-07T22:53:32.2725654Z               "line": 349
2026-06-07T22:53:32.2725841Z             },
2026-06-07T22:53:32.2725997Z             {
2026-06-07T22:53:32.2726204Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T22:53:32.2726466Z               "line": 194
2026-06-07T22:53:32.2726645Z             },
2026-06-07T22:53:32.2726803Z             {
2026-06-07T22:53:32.2727095Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T22:53:32.2727353Z               "line": 216
2026-06-07T22:53:32.2727530Z             },
2026-06-07T22:53:32.2727692Z             {
2026-06-07T22:53:32.2727892Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T22:53:32.2728150Z               "line": 230
2026-06-07T22:53:32.2728331Z             },
2026-06-07T22:53:32.2728498Z             {
2026-06-07T22:53:32.2728693Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T22:53:32.2728951Z               "line": 242
2026-06-07T22:53:32.2729133Z             },
2026-06-07T22:53:32.2729288Z             {
2026-06-07T22:53:32.2729492Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T22:53:32.2729749Z               "line": 256
2026-06-07T22:53:32.2729934Z             },
2026-06-07T22:53:32.2730092Z             {
2026-06-07T22:53:32.2730287Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T22:53:32.2730545Z               "line": 270
2026-06-07T22:53:32.2730736Z             },
2026-06-07T22:53:32.2730902Z             {
2026-06-07T22:53:32.2731103Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T22:53:32.2731356Z               "line": 277
2026-06-07T22:53:32.2731546Z             },
2026-06-07T22:53:32.2731709Z             {
2026-06-07T22:53:32.2731909Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-07T22:53:32.2732174Z               "line": 295
2026-06-07T22:53:32.2732365Z             },
2026-06-07T22:53:32.2732532Z             {
2026-06-07T22:53:32.2732728Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T22:53:32.2732991Z               "line": 819
2026-06-07T22:53:32.2733181Z             },
2026-06-07T22:53:32.2733357Z             {
2026-06-07T22:53:32.2733553Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T22:53:32.2733815Z               "line": 903
2026-06-07T22:53:32.2734000Z             },
2026-06-07T22:53:32.2734169Z             {
2026-06-07T22:53:32.2734372Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T22:53:32.2734630Z               "line": 972
2026-06-07T22:53:32.2734815Z             },
2026-06-07T22:53:32.2734980Z             {
2026-06-07T22:53:32.2735181Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T22:53:32.2735452Z               "line": 1035
2026-06-07T22:53:32.2735747Z             },
2026-06-07T22:53:32.2735909Z             {
2026-06-07T22:53:32.2736110Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T22:53:32.2736367Z               "line": 1093
2026-06-07T22:53:32.2736648Z             },
2026-06-07T22:53:32.2736812Z             {
2026-06-07T22:53:32.2737103Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T22:53:32.2737372Z               "line": 1325
2026-06-07T22:53:32.2737561Z             }
2026-06-07T22:53:32.2737723Z           ]
2026-06-07T22:53:32.2737884Z         }
2026-06-07T22:53:32.2738043Z       }
2026-06-07T22:53:32.2738199Z     },
2026-06-07T22:53:32.2738358Z     {
2026-06-07T22:53:32.2738523Z       "id": "REQ-PAIR-2",
2026-06-07T22:53:32.2738772Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-07T22:53:32.2739058Z       "requiredStages": [
2026-06-07T22:53:32.2739253Z         "impl",
2026-06-07T22:53:32.2739429Z         "unit"
2026-06-07T22:53:32.2739603Z       ],
2026-06-07T22:53:32.2739782Z       "stages": {
2026-06-07T22:53:32.2739977Z         "doc": {
2026-06-07T22:53:32.2740156Z           "complete": false,
2026-06-07T22:53:32.2740357Z           "evidence": []
2026-06-07T22:53:32.2740547Z         },
2026-06-07T22:53:32.2740733Z         "impl": {
2026-06-07T22:53:32.2740915Z           "complete": true,
2026-06-07T22:53:32.2741114Z           "evidence": [
2026-06-07T22:53:32.2741296Z             {
2026-06-07T22:53:32.2741491Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T22:53:32.2741744Z               "line": 42
2026-06-07T22:53:32.2741925Z             },
2026-06-07T22:53:32.2742097Z             {
2026-06-07T22:53:32.2742301Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T22:53:32.2742551Z               "line": 150
2026-06-07T22:53:32.2742734Z             },
2026-06-07T22:53:32.2742898Z             {
2026-06-07T22:53:32.2743087Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T22:53:32.2743335Z               "line": 170
2026-06-07T22:53:32.2743527Z             },
2026-06-07T22:53:32.2743692Z             {
2026-06-07T22:53:32.2743884Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T22:53:32.2744132Z               "line": 208
2026-06-07T22:53:32.2744327Z             },
2026-06-07T22:53:32.2744490Z             {
2026-06-07T22:53:32.2744675Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T22:53:32.2744922Z               "line": 231
2026-06-07T22:53:32.2745115Z             }
2026-06-07T22:53:32.2745284Z           ]
2026-06-07T22:53:32.2745442Z         },
2026-06-07T22:53:32.2745606Z         "int": {
2026-06-07T22:53:32.2745779Z           "complete": false,
2026-06-07T22:53:32.2745988Z           "evidence": []
2026-06-07T22:53:32.2746174Z         },
2026-06-07T22:53:32.2746337Z         "unit": {
2026-06-07T22:53:32.2746513Z           "complete": true,
2026-06-07T22:53:32.2746709Z           "evidence": [
2026-06-07T22:53:32.2746894Z             {
2026-06-07T22:53:32.2747175Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T22:53:32.2747437Z               "line": 252
2026-06-07T22:53:32.2747629Z             },
2026-06-07T22:53:32.2747799Z             {
2026-06-07T22:53:32.2747985Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T22:53:32.2748245Z               "line": 271
2026-06-07T22:53:32.2748431Z             },
2026-06-07T22:53:32.2748588Z             {
2026-06-07T22:53:32.2748778Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T22:53:32.2749027Z               "line": 286
2026-06-07T22:53:32.2749213Z             },
2026-06-07T22:53:32.2749376Z             {
2026-06-07T22:53:32.2749562Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T22:53:32.2749818Z               "line": 308
2026-06-07T22:53:32.2750004Z             },
2026-06-07T22:53:32.2750172Z             {
2026-06-07T22:53:32.2750366Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T22:53:32.2750640Z               "line": 324
2026-06-07T22:53:32.2751078Z             },
2026-06-07T22:53:32.2751246Z             {
2026-06-07T22:53:32.2751460Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T22:53:32.2751703Z               "line": 342
2026-06-07T22:53:32.2751884Z             },
2026-06-07T22:53:32.2752251Z             {
2026-06-07T22:53:32.2752533Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T22:53:32.2752782Z               "line": 357
2026-06-07T22:53:32.2752977Z             },
2026-06-07T22:53:32.2753134Z             {
2026-06-07T22:53:32.2753323Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T22:53:32.2753571Z               "line": 370
2026-06-07T22:53:32.2753758Z             },
2026-06-07T22:53:32.2753919Z             {
2026-06-07T22:53:32.2754106Z               "path": "crates/spt-store/src/trust.rs",
2026-06-07T22:53:32.2754345Z               "line": 384
2026-06-07T22:53:32.2754534Z             }
2026-06-07T22:53:32.2754697Z           ]
2026-06-07T22:53:32.2754854Z         }
2026-06-07T22:53:32.2755017Z       }
2026-06-07T22:53:32.2755183Z     },
2026-06-07T22:53:32.2755341Z     {
2026-06-07T22:53:32.2755502Z       "id": "REQ-PAIR-3",
2026-06-07T22:53:32.2755750Z       "title": "Fetch current pairing code from any paired node",
2026-06-07T22:53:32.2756044Z       "requiredStages": [
2026-06-07T22:53:32.2756243Z         "impl",
2026-06-07T22:53:32.2756415Z         "unit"
2026-06-07T22:53:32.2756587Z       ],
2026-06-07T22:53:32.2756744Z       "stages": {
2026-06-07T22:53:32.2756921Z         "doc": {
2026-06-07T22:53:32.2757187Z           "complete": false,
2026-06-07T22:53:32.2757397Z           "evidence": []
2026-06-07T22:53:32.2757584Z         },
2026-06-07T22:53:32.2757750Z         "impl": {
2026-06-07T22:53:32.2757936Z           "complete": true,
2026-06-07T22:53:32.2758132Z           "evidence": [
2026-06-07T22:53:32.2758321Z             {
2026-06-07T22:53:32.2758512Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2758747Z               "line": 1903
2026-06-07T22:53:32.2758944Z             },
2026-06-07T22:53:32.2759110Z             {
2026-06-07T22:53:32.2759292Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2759535Z               "line": 1972
2026-06-07T22:53:32.2759725Z             },
2026-06-07T22:53:32.2759892Z             {
2026-06-07T22:53:32.2760069Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2760307Z               "line": 2208
2026-06-07T22:53:32.2760489Z             }
2026-06-07T22:53:32.2760655Z           ]
2026-06-07T22:53:32.2760814Z         },
2026-06-07T22:53:32.2760978Z         "int": {
2026-06-07T22:53:32.2761159Z           "complete": false,
2026-06-07T22:53:32.2761357Z           "evidence": []
2026-06-07T22:53:32.2761548Z         },
2026-06-07T22:53:32.2761796Z         "unit": {
2026-06-07T22:53:32.2761977Z           "complete": true,
2026-06-07T22:53:32.2762173Z           "evidence": [
2026-06-07T22:53:32.2762350Z             {
2026-06-07T22:53:32.2762563Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2762826Z               "line": 6153
2026-06-07T22:53:32.2763032Z             },
2026-06-07T22:53:32.2763193Z             {
2026-06-07T22:53:32.2763375Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2763614Z               "line": 6343
2026-06-07T22:53:32.2766395Z             },
2026-06-07T22:53:32.2766590Z             {
2026-06-07T22:53:32.2766789Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2767137Z               "line": 6674
2026-06-07T22:53:32.2767341Z             },
2026-06-07T22:53:32.2767509Z             {
2026-06-07T22:53:32.2767690Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2767943Z               "line": 6693
2026-06-07T22:53:32.2768139Z             },
2026-06-07T22:53:32.2768305Z             {
2026-06-07T22:53:32.2768487Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2768721Z               "line": 6717
2026-06-07T22:53:32.2768910Z             },
2026-06-07T22:53:32.2769077Z             {
2026-06-07T22:53:32.2769399Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2769631Z               "line": 6736
2026-06-07T22:53:32.2769823Z             },
2026-06-07T22:53:32.2769985Z             {
2026-06-07T22:53:32.2770162Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2770491Z               "line": 6749
2026-06-07T22:53:32.2770687Z             },
2026-06-07T22:53:32.2770843Z             {
2026-06-07T22:53:32.2771021Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2771254Z               "line": 6758
2026-06-07T22:53:32.2771439Z             }
2026-06-07T22:53:32.2771600Z           ]
2026-06-07T22:53:32.2771756Z         }
2026-06-07T22:53:32.2771912Z       }
2026-06-07T22:53:32.2772071Z     },
2026-06-07T22:53:32.2772232Z     {
2026-06-07T22:53:32.2772409Z       "id": "REQ-PAIR-4",
2026-06-07T22:53:32.2772629Z       "title": "Subnet naming on first pairing",
2026-06-07T22:53:32.2772891Z       "requiredStages": [
2026-06-07T22:53:32.2773086Z         "impl",
2026-06-07T22:53:32.2773263Z         "unit"
2026-06-07T22:53:32.2773429Z       ],
2026-06-07T22:53:32.2773588Z       "stages": {
2026-06-07T22:53:32.2773758Z         "doc": {
2026-06-07T22:53:32.2773935Z           "complete": false,
2026-06-07T22:53:32.2774145Z           "evidence": []
2026-06-07T22:53:32.2774329Z         },
2026-06-07T22:53:32.2774501Z         "impl": {
2026-06-07T22:53:32.2774677Z           "complete": true,
2026-06-07T22:53:32.2774878Z           "evidence": [
2026-06-07T22:53:32.2775063Z             {
2026-06-07T22:53:32.2775260Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-07T22:53:32.2775513Z               "line": 154
2026-06-07T22:53:32.2775697Z             }
2026-06-07T22:53:32.2775855Z           ]
2026-06-07T22:53:32.2776017Z         },
2026-06-07T22:53:32.2776175Z         "int": {
2026-06-07T22:53:32.2776356Z           "complete": false,
2026-06-07T22:53:32.2776555Z           "evidence": []
2026-06-07T22:53:32.2776738Z         },
2026-06-07T22:53:32.2776894Z         "unit": {
2026-06-07T22:53:32.2777159Z           "complete": true,
2026-06-07T22:53:32.2777358Z           "evidence": [
2026-06-07T22:53:32.2777535Z             {
2026-06-07T22:53:32.2777745Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T22:53:32.2778022Z               "line": 1151
2026-06-07T22:53:32.2778207Z             }
2026-06-07T22:53:32.2778366Z           ]
2026-06-07T22:53:32.2778522Z         }
2026-06-07T22:53:32.2778685Z       }
2026-06-07T22:53:32.2778842Z     },
2026-06-07T22:53:32.2779000Z     {
2026-06-07T22:53:32.2779166Z       "id": "REQ-PAIR-5",
2026-06-07T22:53:32.2779565Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-07T22:53:32.2780022Z       "requiredStages": [
2026-06-07T22:53:32.2780216Z         "impl",
2026-06-07T22:53:32.2780388Z         "unit",
2026-06-07T22:53:32.2780579Z         "int"
2026-06-07T22:53:32.2780741Z       ],
2026-06-07T22:53:32.2780899Z       "stages": {
2026-06-07T22:53:32.2781074Z         "doc": {
2026-06-07T22:53:32.2781247Z           "complete": false,
2026-06-07T22:53:32.2781451Z           "evidence": []
2026-06-07T22:53:32.2781637Z         },
2026-06-07T22:53:32.2781804Z         "impl": {
2026-06-07T22:53:32.2781985Z           "complete": true,
2026-06-07T22:53:32.2782185Z           "evidence": [
2026-06-07T22:53:32.2782368Z             {
2026-06-07T22:53:32.2782574Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T22:53:32.2782835Z               "line": 44
2026-06-07T22:53:32.2783016Z             },
2026-06-07T22:53:32.2783179Z             {
2026-06-07T22:53:32.2783383Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T22:53:32.2783651Z               "line": 96
2026-06-07T22:53:32.2783837Z             },
2026-06-07T22:53:32.2784008Z             {
2026-06-07T22:53:32.2784213Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T22:53:32.2784477Z               "line": 107
2026-06-07T22:53:32.2784782Z             },
2026-06-07T22:53:32.2784946Z             {
2026-06-07T22:53:32.2785152Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T22:53:32.2785410Z               "line": 124
2026-06-07T22:53:32.2785595Z             },
2026-06-07T22:53:32.2785848Z             {
2026-06-07T22:53:32.2786049Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T22:53:32.2786310Z               "line": 155
2026-06-07T22:53:32.2786491Z             },
2026-06-07T22:53:32.2786654Z             {
2026-06-07T22:53:32.2786849Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T22:53:32.2787182Z               "line": 195
2026-06-07T22:53:32.2787365Z             },
2026-06-07T22:53:32.2787525Z             {
2026-06-07T22:53:32.2787729Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T22:53:32.2787981Z               "line": 251
2026-06-07T22:53:32.2788166Z             },
2026-06-07T22:53:32.2788324Z             {
2026-06-07T22:53:32.2788563Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-07T22:53:32.2788843Z               "line": 33
2026-06-07T22:53:32.2789030Z             },
2026-06-07T22:53:32.2789192Z             {
2026-06-07T22:53:32.2789406Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-07T22:53:32.2789687Z               "line": 45
2026-06-07T22:53:32.2789870Z             },
2026-06-07T22:53:32.2790025Z             {
2026-06-07T22:53:32.2790239Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-07T22:53:32.2790509Z               "line": 59
2026-06-07T22:53:32.2790695Z             },
2026-06-07T22:53:32.2790853Z             {
2026-06-07T22:53:32.2791057Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T22:53:32.2791319Z               "line": 359
2026-06-07T22:53:32.2791511Z             }
2026-06-07T22:53:32.2791668Z           ]
2026-06-07T22:53:32.2791826Z         },
2026-06-07T22:53:32.2791992Z         "int": {
2026-06-07T22:53:32.2792088Z           "complete": true,
2026-06-07T22:53:32.2792183Z           "evidence": [
2026-06-07T22:53:32.2792278Z             {
2026-06-07T22:53:32.2792398Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2792494Z               "line": 790
2026-06-07T22:53:32.2792578Z             },
2026-06-07T22:53:32.2792663Z             {
2026-06-07T22:53:32.2792787Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T22:53:32.2792876Z               "line": 342
2026-06-07T22:53:32.2792961Z             }
2026-06-07T22:53:32.2793047Z           ]
2026-06-07T22:53:32.2793134Z         },
2026-06-07T22:53:32.2793219Z         "unit": {
2026-06-07T22:53:32.2793314Z           "complete": true,
2026-06-07T22:53:32.2793410Z           "evidence": [
2026-06-07T22:53:32.2793496Z             {
2026-06-07T22:53:32.2793619Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T22:53:32.2793706Z               "line": 293
2026-06-07T22:53:32.2793801Z             },
2026-06-07T22:53:32.2793882Z             {
2026-06-07T22:53:32.2794006Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T22:53:32.2794102Z               "line": 304
2026-06-07T22:53:32.2794183Z             },
2026-06-07T22:53:32.2794277Z             {
2026-06-07T22:53:32.2794402Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T22:53:32.2794491Z               "line": 406
2026-06-07T22:53:32.2794582Z             },
2026-06-07T22:53:32.2794665Z             {
2026-06-07T22:53:32.2794802Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-07T22:53:32.2794892Z               "line": 72
2026-06-07T22:53:32.2794980Z             },
2026-06-07T22:53:32.2795060Z             {
2026-06-07T22:53:32.2795198Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-07T22:53:32.2795290Z               "line": 82
2026-06-07T22:53:32.2795375Z             },
2026-06-07T22:53:32.2795459Z             {
2026-06-07T22:53:32.2795703Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-07T22:53:32.2795793Z               "line": 100
2026-06-07T22:53:32.2795878Z             },
2026-06-07T22:53:32.2795960Z             {
2026-06-07T22:53:32.2796188Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-07T22:53:32.2796280Z               "line": 110
2026-06-07T22:53:32.2796365Z             },
2026-06-07T22:53:32.2796446Z             {
2026-06-07T22:53:32.2796580Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-07T22:53:32.2796671Z               "line": 125
2026-06-07T22:53:32.2796756Z             },
2026-06-07T22:53:32.2796837Z             {
2026-06-07T22:53:32.2797027Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T22:53:32.2797123Z               "line": 896
2026-06-07T22:53:32.2797205Z             },
2026-06-07T22:53:32.2797296Z             {
2026-06-07T22:53:32.2797419Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T22:53:32.2797520Z               "line": 961
2026-06-07T22:53:32.2797606Z             },
2026-06-07T22:53:32.2797690Z             {
2026-06-07T22:53:32.2797815Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T22:53:32.2797911Z               "line": 1215
2026-06-07T22:53:32.2797995Z             }
2026-06-07T22:53:32.2798080Z           ]
2026-06-07T22:53:32.2798162Z         }
2026-06-07T22:53:32.2798248Z       }
2026-06-07T22:53:32.2798331Z     },
2026-06-07T22:53:32.2798417Z     {
2026-06-07T22:53:32.2798507Z       "id": "REQ-PAIR-6",
2026-06-07T22:53:32.2798769Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-07T22:53:32.2798861Z       "requiredStages": [
2026-06-07T22:53:32.2798947Z         "impl",
2026-06-07T22:53:32.2799036Z         "unit"
2026-06-07T22:53:32.2799118Z       ],
2026-06-07T22:53:32.2799204Z       "stages": {
2026-06-07T22:53:32.2799294Z         "doc": {
2026-06-07T22:53:32.2799399Z           "complete": false,
2026-06-07T22:53:32.2799491Z           "evidence": []
2026-06-07T22:53:32.2799570Z         },
2026-06-07T22:53:32.2799661Z         "impl": {
2026-06-07T22:53:32.2799752Z           "complete": true,
2026-06-07T22:53:32.2799843Z           "evidence": [
2026-06-07T22:53:32.2799923Z             {
2026-06-07T22:53:32.2800033Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2800125Z               "line": 1972
2026-06-07T22:53:32.2800205Z             },
2026-06-07T22:53:32.2800291Z             {
2026-06-07T22:53:32.2800392Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2800482Z               "line": 2208
2026-06-07T22:53:32.2800561Z             },
2026-06-07T22:53:32.2800652Z             {
2026-06-07T22:53:32.2800762Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T22:53:32.2800846Z               "line": 18
2026-06-07T22:53:32.2800936Z             },
2026-06-07T22:53:32.2801021Z             {
2026-06-07T22:53:32.2801137Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T22:53:32.2801221Z               "line": 49
2026-06-07T22:53:32.2801312Z             },
2026-06-07T22:53:32.2801394Z             {
2026-06-07T22:53:32.2801504Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T22:53:32.2801603Z               "line": 163
2026-06-07T22:53:32.2801684Z             }
2026-06-07T22:53:32.2801766Z           ]
2026-06-07T22:53:32.2801847Z         },
2026-06-07T22:53:32.2801932Z         "int": {
2026-06-07T22:53:32.2802029Z           "complete": false,
2026-06-07T22:53:32.2802113Z           "evidence": []
2026-06-07T22:53:32.2802204Z         },
2026-06-07T22:53:32.2802285Z         "unit": {
2026-06-07T22:53:32.2802382Z           "complete": true,
2026-06-07T22:53:32.2802466Z           "evidence": [
2026-06-07T22:53:32.2802552Z             {
2026-06-07T22:53:32.2802653Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2802743Z               "line": 6771
2026-06-07T22:53:32.2802929Z             },
2026-06-07T22:53:32.2803011Z             {
2026-06-07T22:53:32.2803119Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2803209Z               "line": 6788
2026-06-07T22:53:32.2803295Z             },
2026-06-07T22:53:32.2803469Z             {
2026-06-07T22:53:32.2803579Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T22:53:32.2803670Z               "line": 228
2026-06-07T22:53:32.2803751Z             },
2026-06-07T22:53:32.2803841Z             {
2026-06-07T22:53:32.2803946Z               "path": "crates/spt/src/elevation.rs",
2026-06-07T22:53:32.2804047Z               "line": 237
2026-06-07T22:53:32.2804132Z             }
2026-06-07T22:53:32.2804203Z           ]
2026-06-07T22:53:32.2804285Z         }
2026-06-07T22:53:32.2804371Z       }
2026-06-07T22:53:32.2804456Z     },
2026-06-07T22:53:32.2804537Z     {
2026-06-07T22:53:32.2804624Z       "id": "REQ-PAIR-7",
2026-06-07T22:53:32.2804832Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-07T22:53:32.2804939Z       "requiredStages": [],
2026-06-07T22:53:32.2805024Z       "stages": {
2026-06-07T22:53:32.2805105Z         "doc": {
2026-06-07T22:53:32.2805191Z           "complete": false,
2026-06-07T22:53:32.2805282Z           "evidence": []
2026-06-07T22:53:32.2805376Z         },
2026-06-07T22:53:32.2805481Z         "impl": {
2026-06-07T22:53:32.2805578Z           "complete": false,
2026-06-07T22:53:32.2805691Z           "evidence": []
2026-06-07T22:53:32.2805786Z         },
2026-06-07T22:53:32.2805883Z         "int": {
2026-06-07T22:53:32.2805972Z           "complete": false,
2026-06-07T22:53:32.2806061Z           "evidence": []
2026-06-07T22:53:32.2806147Z         },
2026-06-07T22:53:32.2806235Z         "unit": {
2026-06-07T22:53:32.2806325Z           "complete": false,
2026-06-07T22:53:32.2806419Z           "evidence": []
2026-06-07T22:53:32.2806506Z         }
2026-06-07T22:53:32.2806592Z       }
2026-06-07T22:53:32.2806677Z     },
2026-06-07T22:53:32.2806763Z     {
2026-06-07T22:53:32.2806854Z       "id": "REQ-PAIR-8",
2026-06-07T22:53:32.2808327Z       "title": "NTP TOTP offset: the pairing ceremony queries NTP at ceremony time (both sides) and applies the derived offset to the TOTP calculation in-process only; system-clock fallback when NTP is unreachable (offline LAN pairing unaffected — NTP failure never blocks a pairing that succeeds today); never sets the OS clock; no background sync loop (M8 decision 18; field trigger: enlyzeam clock >1 min off exceeds the ±1 window)",
2026-06-07T22:53:32.2808433Z       "requiredStages": [
2026-06-07T22:53:32.2808523Z         "impl",
2026-06-07T22:53:32.2808607Z         "unit"
2026-06-07T22:53:32.2808692Z       ],
2026-06-07T22:53:32.2808779Z       "stages": {
2026-06-07T22:53:32.2808868Z         "doc": {
2026-06-07T22:53:32.2808957Z           "complete": false,
2026-06-07T22:53:32.2809049Z           "evidence": []
2026-06-07T22:53:32.2809139Z         },
2026-06-07T22:53:32.2809230Z         "impl": {
2026-06-07T22:53:32.2809320Z           "complete": true,
2026-06-07T22:53:32.2809426Z           "evidence": [
2026-06-07T22:53:32.2809512Z             {
2026-06-07T22:53:32.2809639Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T22:53:32.2809726Z               "line": 466
2026-06-07T22:53:32.2809825Z             },
2026-06-07T22:53:32.2809916Z             {
2026-06-07T22:53:32.2810046Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-07T22:53:32.2810135Z               "line": 22
2026-06-07T22:53:32.2810221Z             },
2026-06-07T22:53:32.2810302Z             {
2026-06-07T22:53:32.2810441Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-07T22:53:32.2810545Z               "line": 76
2026-06-07T22:53:32.2810632Z             },
2026-06-07T22:53:32.2810714Z             {
2026-06-07T22:53:32.2810837Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-07T22:53:32.2810922Z               "line": 127
2026-06-07T22:53:32.2811014Z             }
2026-06-07T22:53:32.2811203Z           ]
2026-06-07T22:53:32.2811288Z         },
2026-06-07T22:53:32.2811374Z         "int": {
2026-06-07T22:53:32.2811462Z           "complete": false,
2026-06-07T22:53:32.2811557Z           "evidence": []
2026-06-07T22:53:32.2811639Z         },
2026-06-07T22:53:32.2811834Z         "unit": {
2026-06-07T22:53:32.2811930Z           "complete": true,
2026-06-07T22:53:32.2812016Z           "evidence": [
2026-06-07T22:53:32.2812101Z             {
2026-06-07T22:53:32.2812225Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-07T22:53:32.2812317Z               "line": 183
2026-06-07T22:53:32.2812398Z             },
2026-06-07T22:53:32.2812483Z             {
2026-06-07T22:53:32.2812603Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-07T22:53:32.2812693Z               "line": 195
2026-06-07T22:53:32.2812778Z             },
2026-06-07T22:53:32.2812860Z             {
2026-06-07T22:53:32.2812979Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-07T22:53:32.2813079Z               "line": 211
2026-06-07T22:53:32.2813164Z             },
2026-06-07T22:53:32.2813252Z             {
2026-06-07T22:53:32.2813374Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-07T22:53:32.2813465Z               "line": 227
2026-06-07T22:53:32.2813557Z             }
2026-06-07T22:53:32.2813642Z           ]
2026-06-07T22:53:32.2813722Z         }
2026-06-07T22:53:32.2813812Z       }
2026-06-07T22:53:32.2813898Z     },
2026-06-07T22:53:32.2813982Z     {
2026-06-07T22:53:32.2814077Z       "id": "REQ-PRES-1",
2026-06-07T22:53:32.2815436Z       "title": "Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)",
2026-06-07T22:53:32.2815551Z       "requiredStages": [
2026-06-07T22:53:32.2815636Z         "impl",
2026-06-07T22:53:32.2815722Z         "unit",
2026-06-07T22:53:32.2815809Z         "int"
2026-06-07T22:53:32.2815894Z       ],
2026-06-07T22:53:32.2815994Z       "stages": {
2026-06-07T22:53:32.2816075Z         "doc": {
2026-06-07T22:53:32.2816166Z           "complete": true,
2026-06-07T22:53:32.2816260Z           "evidence": [
2026-06-07T22:53:32.2816351Z             {
2026-06-07T22:53:32.2816457Z               "path": "docs/DEFERRED.md",
2026-06-07T22:53:32.2816546Z               "line": 11
2026-06-07T22:53:32.2816631Z             }
2026-06-07T22:53:32.2816717Z           ]
2026-06-07T22:53:32.2816804Z         },
2026-06-07T22:53:32.2816894Z         "impl": {
2026-06-07T22:53:32.2817071Z           "complete": true,
2026-06-07T22:53:32.2817166Z           "evidence": [
2026-06-07T22:53:32.2817252Z             {
2026-06-07T22:53:32.2817376Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T22:53:32.2817467Z               "line": 475
2026-06-07T22:53:32.2817557Z             },
2026-06-07T22:53:32.2817642Z             {
2026-06-07T22:53:32.2817758Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T22:53:32.2817853Z               "line": 527
2026-06-07T22:53:32.2817942Z             },
2026-06-07T22:53:32.2818035Z             {
2026-06-07T22:53:32.2818148Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2818238Z               "line": 181
2026-06-07T22:53:32.2818325Z             },
2026-06-07T22:53:32.2818411Z             {
2026-06-07T22:53:32.2818525Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2818611Z               "line": 207
2026-06-07T22:53:32.2818697Z             },
2026-06-07T22:53:32.2818782Z             {
2026-06-07T22:53:32.2818901Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-07T22:53:32.2818998Z               "line": 28
2026-06-07T22:53:32.2819083Z             },
2026-06-07T22:53:32.2819282Z             {
2026-06-07T22:53:32.2819400Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-07T22:53:32.2819494Z               "line": 105
2026-06-07T22:53:32.2819584Z             },
2026-06-07T22:53:32.2819657Z             {
2026-06-07T22:53:32.2819865Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-07T22:53:32.2819952Z               "line": 161
2026-06-07T22:53:32.2820038Z             },
2026-06-07T22:53:32.2820119Z             {
2026-06-07T22:53:32.2820238Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-07T22:53:32.2820348Z               "line": 180
2026-06-07T22:53:32.2820434Z             },
2026-06-07T22:53:32.2820519Z             {
2026-06-07T22:53:32.2820635Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2820725Z               "line": 328
2026-06-07T22:53:32.2820810Z             },
2026-06-07T22:53:32.2820897Z             {
2026-06-07T22:53:32.2821024Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2821120Z               "line": 289
2026-06-07T22:53:32.2821202Z             },
2026-06-07T22:53:32.2821283Z             {
2026-06-07T22:53:32.2821406Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2821497Z               "line": 336
2026-06-07T22:53:32.2821584Z             },
2026-06-07T22:53:32.2821673Z             {
2026-06-07T22:53:32.2821786Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2821877Z               "line": 362
2026-06-07T22:53:32.2821962Z             },
2026-06-07T22:53:32.2822046Z             {
2026-06-07T22:53:32.2822166Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2822262Z               "line": 100
2026-06-07T22:53:32.2822347Z             }
2026-06-07T22:53:32.2822427Z           ]
2026-06-07T22:53:32.2822514Z         },
2026-06-07T22:53:32.2822600Z         "int": {
2026-06-07T22:53:32.2822694Z           "complete": true,
2026-06-07T22:53:32.2822790Z           "evidence": [
2026-06-07T22:53:32.2822877Z             {
2026-06-07T22:53:32.2823004Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T22:53:32.2823090Z               "line": 546
2026-06-07T22:53:32.2823178Z             },
2026-06-07T22:53:32.2823262Z             {
2026-06-07T22:53:32.2823386Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2823473Z               "line": 675
2026-06-07T22:53:32.2823567Z             },
2026-06-07T22:53:32.2823653Z             {
2026-06-07T22:53:32.2823769Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2823859Z               "line": 1068
2026-06-07T22:53:32.2823939Z             }
2026-06-07T22:53:32.2824021Z           ]
2026-06-07T22:53:32.2824093Z         },
2026-06-07T22:53:32.2824165Z         "unit": {
2026-06-07T22:53:32.2824258Z           "complete": true,
2026-06-07T22:53:32.2824343Z           "evidence": [
2026-06-07T22:53:32.2824434Z             {
2026-06-07T22:53:32.2824575Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.2824670Z               "line": 601
2026-06-07T22:53:32.2824751Z             },
2026-06-07T22:53:32.2824843Z             {
2026-06-07T22:53:32.2824961Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-07T22:53:32.2825056Z               "line": 237
2026-06-07T22:53:32.2825143Z             },
2026-06-07T22:53:32.2825223Z             {
2026-06-07T22:53:32.2825348Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-07T22:53:32.2825438Z               "line": 268
2026-06-07T22:53:32.2825524Z             },
2026-06-07T22:53:32.2825610Z             {
2026-06-07T22:53:32.2825725Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-07T22:53:32.2825815Z               "line": 304
2026-06-07T22:53:32.2825900Z             },
2026-06-07T22:53:32.2825987Z             {
2026-06-07T22:53:32.2826106Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-07T22:53:32.2826191Z               "line": 335
2026-06-07T22:53:32.2826360Z             },
2026-06-07T22:53:32.2826440Z             {
2026-06-07T22:53:32.2826568Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.2826655Z               "line": 901
2026-06-07T22:53:32.2826815Z             },
2026-06-07T22:53:32.2826902Z             {
2026-06-07T22:53:32.2827102Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.2827196Z               "line": 980
2026-06-07T22:53:32.2827277Z             }
2026-06-07T22:53:32.2827364Z           ]
2026-06-07T22:53:32.2827449Z         }
2026-06-07T22:53:32.2827534Z       }
2026-06-07T22:53:32.2827621Z     },
2026-06-07T22:53:32.2827703Z     {
2026-06-07T22:53:32.2827802Z       "id": "REQ-REACH-1",
2026-06-07T22:53:32.2827946Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-07T22:53:32.2828041Z       "requiredStages": [
2026-06-07T22:53:32.2828131Z         "impl",
2026-06-07T22:53:32.2828217Z         "unit",
2026-06-07T22:53:32.2828313Z         "int"
2026-06-07T22:53:32.2828394Z       ],
2026-06-07T22:53:32.2828484Z       "stages": {
2026-06-07T22:53:32.2828565Z         "doc": {
2026-06-07T22:53:32.2828661Z           "complete": false,
2026-06-07T22:53:32.2828751Z           "evidence": []
2026-06-07T22:53:32.2828846Z         },
2026-06-07T22:53:32.2828933Z         "impl": {
2026-06-07T22:53:32.2829023Z           "complete": true,
2026-06-07T22:53:32.2829114Z           "evidence": [
2026-06-07T22:53:32.2829195Z             {
2026-06-07T22:53:32.2829319Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-07T22:53:32.2829413Z               "line": 140
2026-06-07T22:53:32.2829496Z             },
2026-06-07T22:53:32.2829582Z             {
2026-06-07T22:53:32.2829695Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-07T22:53:32.2829784Z               "line": 76
2026-06-07T22:53:32.2829871Z             },
2026-06-07T22:53:32.2829956Z             {
2026-06-07T22:53:32.2830068Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-07T22:53:32.2830164Z               "line": 222
2026-06-07T22:53:32.2830251Z             },
2026-06-07T22:53:32.2830331Z             {
2026-06-07T22:53:32.2830445Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-07T22:53:32.2830537Z               "line": 422
2026-06-07T22:53:32.2830622Z             },
2026-06-07T22:53:32.2830702Z             {
2026-06-07T22:53:32.2830813Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-07T22:53:32.2830904Z               "line": 529
2026-06-07T22:53:32.2830989Z             },
2026-06-07T22:53:32.2831074Z             {
2026-06-07T22:53:32.2831185Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-07T22:53:32.2831275Z               "line": 39
2026-06-07T22:53:32.2831360Z             },
2026-06-07T22:53:32.2831447Z             {
2026-06-07T22:53:32.2831561Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.2831652Z               "line": 229
2026-06-07T22:53:32.2831738Z             },
2026-06-07T22:53:32.2831829Z             {
2026-06-07T22:53:32.2831942Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-07T22:53:32.2832033Z               "line": 88
2026-06-07T22:53:32.2832120Z             },
2026-06-07T22:53:32.2832200Z             {
2026-06-07T22:53:32.2832313Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-07T22:53:32.2832404Z               "line": 98
2026-06-07T22:53:32.2832485Z             },
2026-06-07T22:53:32.2832574Z             {
2026-06-07T22:53:32.2832687Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2832784Z               "line": 210
2026-06-07T22:53:32.2832870Z             }
2026-06-07T22:53:32.2832949Z           ]
2026-06-07T22:53:32.2833036Z         },
2026-06-07T22:53:32.2835225Z         "int": {
2026-06-07T22:53:32.2835350Z           "complete": true,
2026-06-07T22:53:32.2835450Z           "evidence": [
2026-06-07T22:53:32.2835559Z             {
2026-06-07T22:53:32.2835708Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T22:53:32.2835951Z               "line": 404
2026-06-07T22:53:32.2836037Z             },
2026-06-07T22:53:32.2836117Z             {
2026-06-07T22:53:32.2836251Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T22:53:32.2836427Z               "line": 503
2026-06-07T22:53:32.2836518Z             },
2026-06-07T22:53:32.2836605Z             {
2026-06-07T22:53:32.2836727Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2836823Z               "line": 901
2026-06-07T22:53:32.2836905Z             },
2026-06-07T22:53:32.2837104Z             {
2026-06-07T22:53:32.2837230Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2837319Z               "line": 1196
2026-06-07T22:53:32.2837409Z             }
2026-06-07T22:53:32.2837491Z           ]
2026-06-07T22:53:32.2837573Z         },
2026-06-07T22:53:32.2837662Z         "unit": {
2026-06-07T22:53:32.2837757Z           "complete": true,
2026-06-07T22:53:32.2837852Z           "evidence": [
2026-06-07T22:53:32.2837939Z             {
2026-06-07T22:53:32.2838052Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-07T22:53:32.2838143Z               "line": 639
2026-06-07T22:53:32.2838225Z             },
2026-06-07T22:53:32.2838315Z             {
2026-06-07T22:53:32.2838428Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-07T22:53:32.2838516Z               "line": 660
2026-06-07T22:53:32.2838606Z             },
2026-06-07T22:53:32.2838691Z             {
2026-06-07T22:53:32.2838806Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-07T22:53:32.2838897Z               "line": 390
2026-06-07T22:53:32.2838982Z             },
2026-06-07T22:53:32.2839067Z             {
2026-06-07T22:53:32.2839183Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-07T22:53:32.2839273Z               "line": 92
2026-06-07T22:53:32.2839359Z             },
2026-06-07T22:53:32.2839440Z             {
2026-06-07T22:53:32.2839555Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-07T22:53:32.2839650Z               "line": 223
2026-06-07T22:53:32.2839731Z             },
2026-06-07T22:53:32.2839818Z             {
2026-06-07T22:53:32.2839931Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-07T22:53:32.2840017Z               "line": 96
2026-06-07T22:53:32.2840099Z             },
2026-06-07T22:53:32.2840221Z             {
2026-06-07T22:53:32.2840340Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-07T22:53:32.2840431Z               "line": 146
2026-06-07T22:53:32.2840516Z             },
2026-06-07T22:53:32.2840600Z             {
2026-06-07T22:53:32.2840714Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.2840801Z               "line": 502
2026-06-07T22:53:32.2840887Z             },
2026-06-07T22:53:32.2840966Z             {
2026-06-07T22:53:32.2841078Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-07T22:53:32.2841168Z               "line": 118
2026-06-07T22:53:32.2841258Z             },
2026-06-07T22:53:32.2841344Z             {
2026-06-07T22:53:32.2841449Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-07T22:53:32.2841539Z               "line": 148
2026-06-07T22:53:32.2841620Z             },
2026-06-07T22:53:32.2841721Z             {
2026-06-07T22:53:32.2841835Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2841930Z               "line": 602
2026-06-07T22:53:32.2842007Z             }
2026-06-07T22:53:32.2842093Z           ]
2026-06-07T22:53:32.2842173Z         }
2026-06-07T22:53:32.2842254Z       }
2026-06-07T22:53:32.2842342Z     },
2026-06-07T22:53:32.2842427Z     {
2026-06-07T22:53:32.2842522Z       "id": "REQ-REACH-2",
2026-06-07T22:53:32.2842676Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-07T22:53:32.2842774Z       "requiredStages": [],
2026-06-07T22:53:32.2842864Z       "stages": {
2026-06-07T22:53:32.2842949Z         "doc": {
2026-06-07T22:53:32.2843045Z           "complete": false,
2026-06-07T22:53:32.2843243Z           "evidence": []
2026-06-07T22:53:32.2843324Z         },
2026-06-07T22:53:32.2843410Z         "impl": {
2026-06-07T22:53:32.2843500Z           "complete": false,
2026-06-07T22:53:32.2843596Z           "evidence": []
2026-06-07T22:53:32.2843787Z         },
2026-06-07T22:53:32.2843872Z         "int": {
2026-06-07T22:53:32.2843964Z           "complete": false,
2026-06-07T22:53:32.2844054Z           "evidence": []
2026-06-07T22:53:32.2844139Z         },
2026-06-07T22:53:32.2844220Z         "unit": {
2026-06-07T22:53:32.2844317Z           "complete": false,
2026-06-07T22:53:32.2844407Z           "evidence": []
2026-06-07T22:53:32.2844497Z         }
2026-06-07T22:53:32.2844579Z       }
2026-06-07T22:53:32.2844660Z     },
2026-06-07T22:53:32.2844745Z     {
2026-06-07T22:53:32.2844836Z       "id": "REQ-REL-1",
2026-06-07T22:53:32.2845214Z       "title": "spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)",
2026-06-07T22:53:32.2845313Z       "requiredStages": [
2026-06-07T22:53:32.2845402Z         "doc",
2026-06-07T22:53:32.2845487Z         "impl"
2026-06-07T22:53:32.2845569Z       ],
2026-06-07T22:53:32.2845658Z       "stages": {
2026-06-07T22:53:32.2845743Z         "doc": {
2026-06-07T22:53:32.2845843Z           "complete": true,
2026-06-07T22:53:32.2845934Z           "evidence": [
2026-06-07T22:53:32.2846015Z             {
2026-06-07T22:53:32.2846221Z               "path": "docs/adr/0014-publish-target-repo-and-lapse-proof-canonical-url.md",
2026-06-07T22:53:32.2846307Z               "line": 3
2026-06-07T22:53:32.2846391Z             }
2026-06-07T22:53:32.2846468Z           ]
2026-06-07T22:53:32.2846545Z         },
2026-06-07T22:53:32.2846654Z         "impl": {
2026-06-07T22:53:32.2846787Z           "complete": true,
2026-06-07T22:53:32.2846921Z           "evidence": [
2026-06-07T22:53:32.2847150Z             {
2026-06-07T22:53:32.2847659Z               "path": ".github/workflows/docs-publish.yml",
2026-06-07T22:53:32.2847842Z               "line": 11
2026-06-07T22:53:32.2847955Z             },
2026-06-07T22:53:32.2848061Z             {
2026-06-07T22:53:32.2848213Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.2848326Z               "line": 265
2026-06-07T22:53:32.2848436Z             }
2026-06-07T22:53:32.2848542Z           ]
2026-06-07T22:53:32.2848641Z         },
2026-06-07T22:53:32.2848741Z         "int": {
2026-06-07T22:53:32.2848861Z           "complete": false,
2026-06-07T22:53:32.2848970Z           "evidence": []
2026-06-07T22:53:32.2849071Z         },
2026-06-07T22:53:32.2849195Z         "unit": {
2026-06-07T22:53:32.2849313Z           "complete": false,
2026-06-07T22:53:32.2849429Z           "evidence": []
2026-06-07T22:53:32.2849533Z         }
2026-06-07T22:53:32.2849642Z       }
2026-06-07T22:53:32.2849748Z     },
2026-06-07T22:53:32.2849857Z     {
2026-06-07T22:53:32.2849971Z       "id": "REQ-REL-2",
2026-06-07T22:53:32.2850577Z       "title": "Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline",
2026-06-07T22:53:32.2850707Z       "requiredStages": [
2026-06-07T22:53:32.2850815Z         "impl",
2026-06-07T22:53:32.2850924Z         "int"
2026-06-07T22:53:32.2851029Z       ],
2026-06-07T22:53:32.2851136Z       "stages": {
2026-06-07T22:53:32.2851245Z         "doc": {
2026-06-07T22:53:32.2851356Z           "complete": true,
2026-06-07T22:53:32.2851470Z           "evidence": [
2026-06-07T22:53:32.2851575Z             {
2026-06-07T22:53:32.2851714Z               "path": "docs/RELEASE-RUNBOOK.md",
2026-06-07T22:53:32.2851822Z               "line": 6
2026-06-07T22:53:32.2851923Z             }
2026-06-07T22:53:32.2852028Z           ]
2026-06-07T22:53:32.2852123Z         },
2026-06-07T22:53:32.2852229Z         "impl": {
2026-06-07T22:53:32.2852343Z           "complete": true,
2026-06-07T22:53:32.2852443Z           "evidence": [
2026-06-07T22:53:32.2852553Z             {
2026-06-07T22:53:32.2852921Z               "path": ".github/workflows/release.yml",
2026-06-07T22:53:32.2853034Z               "line": 16
2026-06-07T22:53:32.2853134Z             },
2026-06-07T22:53:32.2853245Z             {
2026-06-07T22:53:32.2853382Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.2853609Z               "line": 352
2026-06-07T22:53:32.2853718Z             },
2026-06-07T22:53:32.2853817Z             {
2026-06-07T22:53:32.2853947Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.2854060Z               "line": 424
2026-06-07T22:53:32.2854161Z             },
2026-06-07T22:53:32.2854262Z             {
2026-06-07T22:53:32.2854389Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.2854500Z               "line": 484
2026-06-07T22:53:32.2854600Z             },
2026-06-07T22:53:32.2854704Z             {
2026-06-07T22:53:32.2854834Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.2854943Z               "line": 591
2026-06-07T22:53:32.2855052Z             }
2026-06-07T22:53:32.2855154Z           ]
2026-06-07T22:53:32.2855253Z         },
2026-06-07T22:53:32.2855357Z         "int": {
2026-06-07T22:53:32.2855469Z           "complete": true,
2026-06-07T22:53:32.2855577Z           "evidence": [
2026-06-07T22:53:32.2855686Z             {
2026-06-07T22:53:32.2855850Z               "path": "crates/spt/tests/release_verify_e2e.rs",
2026-06-07T22:53:32.2855957Z               "line": 13
2026-06-07T22:53:32.2856059Z             }
2026-06-07T22:53:32.2856160Z           ]
2026-06-07T22:53:32.2856263Z         },
2026-06-07T22:53:32.2856372Z         "unit": {
2026-06-07T22:53:32.2856478Z           "complete": false,
2026-06-07T22:53:32.2856592Z           "evidence": []
2026-06-07T22:53:32.2856691Z         }
2026-06-07T22:53:32.2856793Z       }
2026-06-07T22:53:32.2856897Z     },
2026-06-07T22:53:32.2857263Z     {
2026-06-07T22:53:32.2857507Z       "id": "REQ-REL-3",
2026-06-07T22:53:32.2857950Z       "title": "Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)",
2026-06-07T22:53:32.2858061Z       "requiredStages": [
2026-06-07T22:53:32.2858164Z         "impl",
2026-06-07T22:53:32.2858294Z         "unit"
2026-06-07T22:53:32.2858424Z       ],
2026-06-07T22:53:32.2858565Z       "stages": {
2026-06-07T22:53:32.2858696Z         "doc": {
2026-06-07T22:53:32.2858841Z           "complete": false,
2026-06-07T22:53:32.2858984Z           "evidence": []
2026-06-07T22:53:32.2859111Z         },
2026-06-07T22:53:32.2859243Z         "impl": {
2026-06-07T22:53:32.2859440Z           "complete": true,
2026-06-07T22:53:32.2859587Z           "evidence": [
2026-06-07T22:53:32.2859726Z             {
2026-06-07T22:53:32.2859998Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.2860130Z               "line": 224
2026-06-07T22:53:32.2860265Z             },
2026-06-07T22:53:32.2860388Z             {
2026-06-07T22:53:32.2860575Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.2860727Z               "line": 276
2026-06-07T22:53:32.2860876Z             },
2026-06-07T22:53:32.2860990Z             {
2026-06-07T22:53:32.2861152Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.2861346Z               "line": 329
2026-06-07T22:53:32.2861488Z             },
2026-06-07T22:53:32.2861636Z             {
2026-06-07T22:53:32.2861825Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.2861978Z               "line": 353
2026-06-07T22:53:32.2862115Z             },
2026-06-07T22:53:32.2862269Z             {
2026-06-07T22:53:32.2862440Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.2862598Z               "line": 392
2026-06-07T22:53:32.2862740Z             }
2026-06-07T22:53:32.2862870Z           ]
2026-06-07T22:53:32.2863008Z         },
2026-06-07T22:53:32.2863137Z         "int": {
2026-06-07T22:53:32.2863256Z           "complete": false,
2026-06-07T22:53:32.2863509Z           "evidence": []
2026-06-07T22:53:32.2863608Z         },
2026-06-07T22:53:32.2863704Z         "unit": {
2026-06-07T22:53:32.2863810Z           "complete": true,
2026-06-07T22:53:32.2863913Z           "evidence": [
2026-06-07T22:53:32.2864007Z             {
2026-06-07T22:53:32.2864249Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.2864348Z               "line": 977
2026-06-07T22:53:32.2864440Z             },
2026-06-07T22:53:32.2864531Z             {
2026-06-07T22:53:32.2864667Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.2864764Z               "line": 1036
2026-06-07T22:53:32.2864859Z             }
2026-06-07T22:53:32.2864954Z           ]
2026-06-07T22:53:32.2865040Z         }
2026-06-07T22:53:32.2865141Z       }
2026-06-07T22:53:32.2865231Z     },
2026-06-07T22:53:32.2865326Z     {
2026-06-07T22:53:32.2865446Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-07T22:53:32.2865656Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-07T22:53:32.2865771Z       "requiredStages": [
2026-06-07T22:53:32.2865865Z         "impl",
2026-06-07T22:53:32.2865965Z         "unit"
2026-06-07T22:53:32.2866062Z       ],
2026-06-07T22:53:32.2866156Z       "stages": {
2026-06-07T22:53:32.2866256Z         "doc": {
2026-06-07T22:53:32.2866358Z           "complete": false,
2026-06-07T22:53:32.2866461Z           "evidence": []
2026-06-07T22:53:32.2866551Z         },
2026-06-07T22:53:32.2866656Z         "impl": {
2026-06-07T22:53:32.2866755Z           "complete": true,
2026-06-07T22:53:32.2866858Z           "evidence": [
2026-06-07T22:53:32.2867041Z             {
2026-06-07T22:53:32.2867173Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T22:53:32.2867278Z               "line": 18
2026-06-07T22:53:32.2867374Z             },
2026-06-07T22:53:32.2867474Z             {
2026-06-07T22:53:32.2867598Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T22:53:32.2867698Z               "line": 35
2026-06-07T22:53:32.2867798Z             },
2026-06-07T22:53:32.2867893Z             {
2026-06-07T22:53:32.2868018Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T22:53:32.2868113Z               "line": 72
2026-06-07T22:53:32.2868208Z             }
2026-06-07T22:53:32.2868309Z           ]
2026-06-07T22:53:32.2868403Z         },
2026-06-07T22:53:32.2868498Z         "int": {
2026-06-07T22:53:32.2868595Z           "complete": false,
2026-06-07T22:53:32.2868699Z           "evidence": []
2026-06-07T22:53:32.2868789Z         },
2026-06-07T22:53:32.2868886Z         "unit": {
2026-06-07T22:53:32.2868986Z           "complete": true,
2026-06-07T22:53:32.2869094Z           "evidence": [
2026-06-07T22:53:32.2869186Z             {
2026-06-07T22:53:32.2869315Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T22:53:32.2869418Z               "line": 214
2026-06-07T22:53:32.2869508Z             },
2026-06-07T22:53:32.2869605Z             {
2026-06-07T22:53:32.2869732Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T22:53:32.2869857Z               "line": 231
2026-06-07T22:53:32.2869952Z             },
2026-06-07T22:53:32.2870033Z             {
2026-06-07T22:53:32.2870152Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T22:53:32.2870239Z               "line": 240
2026-06-07T22:53:32.2870334Z             }
2026-06-07T22:53:32.2870424Z           ]
2026-06-07T22:53:32.2870506Z         }
2026-06-07T22:53:32.2870591Z       }
2026-06-07T22:53:32.2870672Z     },
2026-06-07T22:53:32.2870758Z     {
2026-06-07T22:53:32.2870854Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-07T22:53:32.2871006Z       "title": "Hostable endpoint-types capability declaration",
2026-06-07T22:53:32.2871111Z       "requiredStages": [
2026-06-07T22:53:32.2871207Z         "impl",
2026-06-07T22:53:32.2871291Z         "unit"
2026-06-07T22:53:32.2871378Z       ],
2026-06-07T22:53:32.2871469Z       "stages": {
2026-06-07T22:53:32.2871555Z         "doc": {
2026-06-07T22:53:32.2871649Z           "complete": false,
2026-06-07T22:53:32.2871851Z           "evidence": []
2026-06-07T22:53:32.2871935Z         },
2026-06-07T22:53:32.2872034Z         "impl": {
2026-06-07T22:53:32.2872130Z           "complete": true,
2026-06-07T22:53:32.2872219Z           "evidence": [
2026-06-07T22:53:32.2872395Z             {
2026-06-07T22:53:32.2872524Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2872619Z               "line": 404
2026-06-07T22:53:32.2872705Z             }
2026-06-07T22:53:32.2872791Z           ]
2026-06-07T22:53:32.2872877Z         },
2026-06-07T22:53:32.2872976Z         "int": {
2026-06-07T22:53:32.2873073Z           "complete": false,
2026-06-07T22:53:32.2873172Z           "evidence": []
2026-06-07T22:53:32.2873262Z         },
2026-06-07T22:53:32.2873349Z         "unit": {
2026-06-07T22:53:32.2873444Z           "complete": true,
2026-06-07T22:53:32.2873539Z           "evidence": [
2026-06-07T22:53:32.2873630Z             {
2026-06-07T22:53:32.2873745Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2873849Z               "line": 641
2026-06-07T22:53:32.2873935Z             }
2026-06-07T22:53:32.2874022Z           ]
2026-06-07T22:53:32.2874111Z         }
2026-06-07T22:53:32.2874197Z       }
2026-06-07T22:53:32.2874283Z     },
2026-06-07T22:53:32.2874366Z     {
2026-06-07T22:53:32.2874468Z       "id": "REQ-SEAM-HISTORY",
2026-06-07T22:53:32.2874654Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-07T22:53:32.2874753Z       "requiredStages": [
2026-06-07T22:53:32.2874847Z         "impl",
2026-06-07T22:53:32.2874937Z         "unit",
2026-06-07T22:53:32.2875029Z         "int"
2026-06-07T22:53:32.2875114Z       ],
2026-06-07T22:53:32.2875209Z       "stages": {
2026-06-07T22:53:32.2875295Z         "doc": {
2026-06-07T22:53:32.2875391Z           "complete": false,
2026-06-07T22:53:32.2875491Z           "evidence": []
2026-06-07T22:53:32.2875577Z         },
2026-06-07T22:53:32.2875668Z         "impl": {
2026-06-07T22:53:32.2875768Z           "complete": true,
2026-06-07T22:53:32.2875872Z           "evidence": [
2026-06-07T22:53:32.2875959Z             {
2026-06-07T22:53:32.2876078Z               "path": "crates/spt-live/src/echo.rs",
2026-06-07T22:53:32.2876173Z               "line": 24
2026-06-07T22:53:32.2876260Z             },
2026-06-07T22:53:32.2876349Z             {
2026-06-07T22:53:32.2876464Z               "path": "crates/spt-live/src/history.rs",
2026-06-07T22:53:32.2876555Z               "line": 22
2026-06-07T22:53:32.2876646Z             }
2026-06-07T22:53:32.2876730Z           ]
2026-06-07T22:53:32.2876821Z         },
2026-06-07T22:53:32.2876908Z         "int": {
2026-06-07T22:53:32.2877092Z           "complete": true,
2026-06-07T22:53:32.2877182Z           "evidence": [
2026-06-07T22:53:32.2877273Z             {
2026-06-07T22:53:32.2877390Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T22:53:32.2877490Z               "line": 256
2026-06-07T22:53:32.2877586Z             }
2026-06-07T22:53:32.2877677Z           ]
2026-06-07T22:53:32.2877766Z         },
2026-06-07T22:53:32.2877857Z         "unit": {
2026-06-07T22:53:32.2877953Z           "complete": true,
2026-06-07T22:53:32.2878043Z           "evidence": [
2026-06-07T22:53:32.2878134Z             {
2026-06-07T22:53:32.2878254Z               "path": "crates/spt-live/src/echo.rs",
2026-06-07T22:53:32.2878349Z               "line": 167
2026-06-07T22:53:32.2878439Z             },
2026-06-07T22:53:32.2878525Z             {
2026-06-07T22:53:32.2878634Z               "path": "crates/spt-live/src/echo.rs",
2026-06-07T22:53:32.2878729Z               "line": 196
2026-06-07T22:53:32.2878817Z             },
2026-06-07T22:53:32.2878912Z             {
2026-06-07T22:53:32.2879021Z               "path": "crates/spt-live/src/echo.rs",
2026-06-07T22:53:32.2879117Z               "line": 216
2026-06-07T22:53:32.2879198Z             },
2026-06-07T22:53:32.2879287Z             {
2026-06-07T22:53:32.2879417Z               "path": "crates/spt-live/src/history.rs",
2026-06-07T22:53:32.2879612Z               "line": 199
2026-06-07T22:53:32.2879702Z             },
2026-06-07T22:53:32.2879790Z             {
2026-06-07T22:53:32.2879912Z               "path": "crates/spt-live/src/history.rs",
2026-06-07T22:53:32.2880002Z               "line": 219
2026-06-07T22:53:32.2880179Z             },
2026-06-07T22:53:32.2880269Z             {
2026-06-07T22:53:32.2880388Z               "path": "crates/spt-live/src/history.rs",
2026-06-07T22:53:32.2880489Z               "line": 244
2026-06-07T22:53:32.2880579Z             },
2026-06-07T22:53:32.2880669Z             {
2026-06-07T22:53:32.2880789Z               "path": "crates/spt-live/src/history.rs",
2026-06-07T22:53:32.2880885Z               "line": 269
2026-06-07T22:53:32.2880974Z             },
2026-06-07T22:53:32.2881057Z             {
2026-06-07T22:53:32.2881170Z               "path": "crates/spt-live/src/history.rs",
2026-06-07T22:53:32.2881261Z               "line": 290
2026-06-07T22:53:32.2881347Z             },
2026-06-07T22:53:32.2881443Z             {
2026-06-07T22:53:32.2881562Z               "path": "crates/spt-live/src/history.rs",
2026-06-07T22:53:32.2881657Z               "line": 317
2026-06-07T22:53:32.2881739Z             }
2026-06-07T22:53:32.2881833Z           ]
2026-06-07T22:53:32.2881923Z         }
2026-06-07T22:53:32.2882011Z       }
2026-06-07T22:53:32.2882097Z     },
2026-06-07T22:53:32.2882180Z     {
2026-06-07T22:53:32.2882282Z       "id": "REQ-SEAM-INJECT",
2026-06-07T22:53:32.2882449Z       "title": "inject-input methods configurable per activity-state",
2026-06-07T22:53:32.2882547Z       "requiredStages": [
2026-06-07T22:53:32.2882633Z         "impl",
2026-06-07T22:53:32.2882724Z         "unit"
2026-06-07T22:53:32.2882808Z       ],
2026-06-07T22:53:32.2882902Z       "stages": {
2026-06-07T22:53:32.2882988Z         "doc": {
2026-06-07T22:53:32.2883084Z           "complete": false,
2026-06-07T22:53:32.2883179Z           "evidence": []
2026-06-07T22:53:32.2883260Z         },
2026-06-07T22:53:32.2883356Z         "impl": {
2026-06-07T22:53:32.2883456Z           "complete": true,
2026-06-07T22:53:32.2883551Z           "evidence": [
2026-06-07T22:53:32.2883643Z             {
2026-06-07T22:53:32.2883761Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T22:53:32.2883861Z               "line": 19
2026-06-07T22:53:32.2883943Z             },
2026-06-07T22:53:32.2884028Z             {
2026-06-07T22:53:32.2884146Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T22:53:32.2884238Z               "line": 111
2026-06-07T22:53:32.2884334Z             }
2026-06-07T22:53:32.2884419Z           ]
2026-06-07T22:53:32.2884505Z         },
2026-06-07T22:53:32.2884592Z         "int": {
2026-06-07T22:53:32.2884690Z           "complete": false,
2026-06-07T22:53:32.2884781Z           "evidence": []
2026-06-07T22:53:32.2884868Z         },
2026-06-07T22:53:32.2884959Z         "unit": {
2026-06-07T22:53:32.2885052Z           "complete": true,
2026-06-07T22:53:32.2885147Z           "evidence": [
2026-06-07T22:53:32.2885243Z             {
2026-06-07T22:53:32.2885355Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T22:53:32.2885445Z               "line": 320
2026-06-07T22:53:32.2885536Z             },
2026-06-07T22:53:32.2885623Z             {
2026-06-07T22:53:32.2885741Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T22:53:32.2885837Z               "line": 340
2026-06-07T22:53:32.2885922Z             }
2026-06-07T22:53:32.2886008Z           ]
2026-06-07T22:53:32.2886094Z         }
2026-06-07T22:53:32.2886185Z       }
2026-06-07T22:53:32.2886271Z     },
2026-06-07T22:53:32.2886356Z     {
2026-06-07T22:53:32.2886466Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-07T22:53:32.2886599Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-07T22:53:32.2886699Z       "requiredStages": [
2026-06-07T22:53:32.2886786Z         "impl",
2026-06-07T22:53:32.2886877Z         "unit"
2026-06-07T22:53:32.2887062Z       ],
2026-06-07T22:53:32.2887149Z       "stages": {
2026-06-07T22:53:32.2887367Z         "doc": {
2026-06-07T22:53:32.2887464Z           "complete": false,
2026-06-07T22:53:32.2887558Z           "evidence": []
2026-06-07T22:53:32.2887643Z         },
2026-06-07T22:53:32.2887738Z         "impl": {
2026-06-07T22:53:32.2887838Z           "complete": true,
2026-06-07T22:53:32.2888021Z           "evidence": [
2026-06-07T22:53:32.2888112Z             {
2026-06-07T22:53:32.2888227Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2888322Z               "line": 18
2026-06-07T22:53:32.2888403Z             },
2026-06-07T22:53:32.2888494Z             {
2026-06-07T22:53:32.2888613Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2888704Z               "line": 309
2026-06-07T22:53:32.2888794Z             }
2026-06-07T22:53:32.2888875Z           ]
2026-06-07T22:53:32.2888965Z         },
2026-06-07T22:53:32.2889052Z         "int": {
2026-06-07T22:53:32.2889157Z           "complete": false,
2026-06-07T22:53:32.2889247Z           "evidence": []
2026-06-07T22:53:32.2889343Z         },
2026-06-07T22:53:32.2889434Z         "unit": {
2026-06-07T22:53:32.2889528Z           "complete": true,
2026-06-07T22:53:32.2889623Z           "evidence": [
2026-06-07T22:53:32.2889716Z             {
2026-06-07T22:53:32.2889829Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2889929Z               "line": 559
2026-06-07T22:53:32.2890021Z             },
2026-06-07T22:53:32.2890111Z             {
2026-06-07T22:53:32.2890219Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2890311Z               "line": 569
2026-06-07T22:53:32.2890397Z             }
2026-06-07T22:53:32.2890491Z           ]
2026-06-07T22:53:32.2890581Z         }
2026-06-07T22:53:32.2890663Z       }
2026-06-07T22:53:32.2890749Z     },
2026-06-07T22:53:32.2890834Z     {
2026-06-07T22:53:32.2890934Z       "id": "REQ-SEAM-PSYCHE",
2026-06-07T22:53:32.2891078Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-07T22:53:32.2891177Z       "requiredStages": [
2026-06-07T22:53:32.2891272Z         "impl",
2026-06-07T22:53:32.2891359Z         "unit",
2026-06-07T22:53:32.2891450Z         "int"
2026-06-07T22:53:32.2891539Z       ],
2026-06-07T22:53:32.2891636Z       "stages": {
2026-06-07T22:53:32.2891721Z         "doc": {
2026-06-07T22:53:32.2891821Z           "complete": false,
2026-06-07T22:53:32.2891916Z           "evidence": []
2026-06-07T22:53:32.2892003Z         },
2026-06-07T22:53:32.2892092Z         "impl": {
2026-06-07T22:53:32.2892183Z           "complete": true,
2026-06-07T22:53:32.2892280Z           "evidence": [
2026-06-07T22:53:32.2892365Z             {
2026-06-07T22:53:32.2892483Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-07T22:53:32.2892581Z               "line": 19
2026-06-07T22:53:32.2892666Z             },
2026-06-07T22:53:32.2892754Z             {
2026-06-07T22:53:32.2892871Z               "path": "crates/spt/src/api/live.rs",
2026-06-07T22:53:32.2892962Z               "line": 12
2026-06-07T22:53:32.2893051Z             },
2026-06-07T22:53:32.2893141Z             {
2026-06-07T22:53:32.2893260Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2893354Z               "line": 209
2026-06-07T22:53:32.2893443Z             }
2026-06-07T22:53:32.2893530Z           ]
2026-06-07T22:53:32.2893625Z         },
2026-06-07T22:53:32.2893715Z         "int": {
2026-06-07T22:53:32.2893849Z           "complete": true,
2026-06-07T22:53:32.2893945Z           "evidence": [
2026-06-07T22:53:32.2894030Z             {
2026-06-07T22:53:32.2894154Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T22:53:32.2894245Z               "line": 255
2026-06-07T22:53:32.2894331Z             }
2026-06-07T22:53:32.2894416Z           ]
2026-06-07T22:53:32.2894508Z         },
2026-06-07T22:53:32.2894598Z         "unit": {
2026-06-07T22:53:32.2894688Z           "complete": true,
2026-06-07T22:53:32.2894779Z           "evidence": [
2026-06-07T22:53:32.2894866Z             {
2026-06-07T22:53:32.2894979Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-07T22:53:32.2895171Z               "line": 161
2026-06-07T22:53:32.2895265Z             },
2026-06-07T22:53:32.2895355Z             {
2026-06-07T22:53:32.2895471Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-07T22:53:32.2895641Z               "line": 168
2026-06-07T22:53:32.2895726Z             },
2026-06-07T22:53:32.2895822Z             {
2026-06-07T22:53:32.2895934Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-07T22:53:32.2896029Z               "line": 191
2026-06-07T22:53:32.2896115Z             },
2026-06-07T22:53:32.2896206Z             {
2026-06-07T22:53:32.2896325Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-07T22:53:32.2896416Z               "line": 106
2026-06-07T22:53:32.2896506Z             },
2026-06-07T22:53:32.2896596Z             {
2026-06-07T22:53:32.2896711Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-07T22:53:32.2896802Z               "line": 137
2026-06-07T22:53:32.2896897Z             },
2026-06-07T22:53:32.2897079Z             {
2026-06-07T22:53:32.2897188Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-07T22:53:32.2897288Z               "line": 161
2026-06-07T22:53:32.2897384Z             }
2026-06-07T22:53:32.2897479Z           ]
2026-06-07T22:53:32.2897569Z         }
2026-06-07T22:53:32.2897650Z       }
2026-06-07T22:53:32.2897743Z     },
2026-06-07T22:53:32.2897826Z     {
2026-06-07T22:53:32.2897927Z       "id": "REQ-SEAM-RESUME",
2026-06-07T22:53:32.2898109Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-07T22:53:32.2898213Z       "requiredStages": [
2026-06-07T22:53:32.2898302Z         "impl",
2026-06-07T22:53:32.2898393Z         "unit"
2026-06-07T22:53:32.2898482Z       ],
2026-06-07T22:53:32.2898572Z       "stages": {
2026-06-07T22:53:32.2898658Z         "doc": {
2026-06-07T22:53:32.2898755Z           "complete": false,
2026-06-07T22:53:32.2898853Z           "evidence": []
2026-06-07T22:53:32.2898944Z         },
2026-06-07T22:53:32.2899035Z         "impl": {
2026-06-07T22:53:32.2899130Z           "complete": true,
2026-06-07T22:53:32.2899220Z           "evidence": [
2026-06-07T22:53:32.2899317Z             {
2026-06-07T22:53:32.2899431Z               "path": "crates/spt-live/src/resume.rs",
2026-06-07T22:53:32.2899531Z               "line": 19
2026-06-07T22:53:32.2899622Z             }
2026-06-07T22:53:32.2899707Z           ]
2026-06-07T22:53:32.2899793Z         },
2026-06-07T22:53:32.2899883Z         "int": {
2026-06-07T22:53:32.2899980Z           "complete": false,
2026-06-07T22:53:32.2900070Z           "evidence": []
2026-06-07T22:53:32.2900160Z         },
2026-06-07T22:53:32.2900252Z         "unit": {
2026-06-07T22:53:32.2900347Z           "complete": true,
2026-06-07T22:53:32.2900441Z           "evidence": [
2026-06-07T22:53:32.2900517Z             {
2026-06-07T22:53:32.2900690Z               "path": "crates/spt-live/src/resume.rs",
2026-06-07T22:53:32.2900789Z               "line": 179
2026-06-07T22:53:32.2900876Z             },
2026-06-07T22:53:32.2900957Z             {
2026-06-07T22:53:32.2901070Z               "path": "crates/spt-live/src/resume.rs",
2026-06-07T22:53:32.2901165Z               "line": 201
2026-06-07T22:53:32.2901251Z             },
2026-06-07T22:53:32.2901342Z             {
2026-06-07T22:53:32.2901441Z               "path": "crates/spt-live/src/resume.rs",
2026-06-07T22:53:32.2901523Z               "line": 222
2026-06-07T22:53:32.2901614Z             }
2026-06-07T22:53:32.2901695Z           ]
2026-06-07T22:53:32.2901784Z         }
2026-06-07T22:53:32.2901872Z       }
2026-06-07T22:53:32.2901957Z     },
2026-06-07T22:53:32.2902042Z     {
2026-06-07T22:53:32.2902147Z       "id": "REQ-SEAM-SPAWN",
2026-06-07T22:53:32.2902248Z       "title": "spawn-session seam",
2026-06-07T22:53:32.2902339Z       "requiredStages": [
2026-06-07T22:53:32.2902438Z         "impl",
2026-06-07T22:53:32.2902520Z         "unit"
2026-06-07T22:53:32.2902610Z       ],
2026-06-07T22:53:32.2902701Z       "stages": {
2026-06-07T22:53:32.2902892Z         "doc": {
2026-06-07T22:53:32.2902991Z           "complete": false,
2026-06-07T22:53:32.2903082Z           "evidence": []
2026-06-07T22:53:32.2903173Z         },
2026-06-07T22:53:32.2903259Z         "impl": {
2026-06-07T22:53:32.2903359Z           "complete": true,
2026-06-07T22:53:32.2903541Z           "evidence": [
2026-06-07T22:53:32.2903634Z             {
2026-06-07T22:53:32.2903768Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T22:53:32.2903858Z               "line": 20
2026-06-07T22:53:32.2903952Z             }
2026-06-07T22:53:32.2907305Z           ]
2026-06-07T22:53:32.2907449Z         },
2026-06-07T22:53:32.2907548Z         "int": {
2026-06-07T22:53:32.2907654Z           "complete": false,
2026-06-07T22:53:32.2907753Z           "evidence": []
2026-06-07T22:53:32.2907838Z         },
2026-06-07T22:53:32.2907926Z         "unit": {
2026-06-07T22:53:32.2908025Z           "complete": true,
2026-06-07T22:53:32.2908120Z           "evidence": [
2026-06-07T22:53:32.2908220Z             {
2026-06-07T22:53:32.2908359Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T22:53:32.2908454Z               "line": 435
2026-06-07T22:53:32.2908540Z             },
2026-06-07T22:53:32.2908627Z             {
2026-06-07T22:53:32.2908763Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T22:53:32.2908858Z               "line": 442
2026-06-07T22:53:32.2908944Z             },
2026-06-07T22:53:32.2909037Z             {
2026-06-07T22:53:32.2909160Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T22:53:32.2909252Z               "line": 452
2026-06-07T22:53:32.2909343Z             },
2026-06-07T22:53:32.2909428Z             {
2026-06-07T22:53:32.2909552Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T22:53:32.2909643Z               "line": 458
2026-06-07T22:53:32.2909728Z             },
2026-06-07T22:53:32.2909814Z             {
2026-06-07T22:53:32.2909934Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T22:53:32.2910038Z               "line": 483
2026-06-07T22:53:32.2910119Z             },
2026-06-07T22:53:32.2910206Z             {
2026-06-07T22:53:32.2910320Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-07T22:53:32.2910420Z               "line": 520
2026-06-07T22:53:32.2910507Z             }
2026-06-07T22:53:32.2910582Z           ]
2026-06-07T22:53:32.2910672Z         }
2026-06-07T22:53:32.2910758Z       }
2026-06-07T22:53:32.2910836Z     },
2026-06-07T22:53:32.2910911Z     {
2026-06-07T22:53:32.2911020Z       "id": "REQ-SEAM-UPDATE",
2026-06-07T22:53:32.2911212Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-07T22:53:32.2911306Z       "requiredStages": [
2026-06-07T22:53:32.2911397Z         "impl",
2026-06-07T22:53:32.2911475Z         "unit"
2026-06-07T22:53:32.2911569Z       ],
2026-06-07T22:53:32.2911659Z       "stages": {
2026-06-07T22:53:32.2911739Z         "doc": {
2026-06-07T22:53:32.2911836Z           "complete": false,
2026-06-07T22:53:32.2911935Z           "evidence": []
2026-06-07T22:53:32.2912020Z         },
2026-06-07T22:53:32.2912107Z         "impl": {
2026-06-07T22:53:32.2912203Z           "complete": true,
2026-06-07T22:53:32.2912293Z           "evidence": [
2026-06-07T22:53:32.2912388Z             {
2026-06-07T22:53:32.2912527Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T22:53:32.2912617Z               "line": 28
2026-06-07T22:53:32.2912703Z             },
2026-06-07T22:53:32.2912789Z             {
2026-06-07T22:53:32.2912917Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T22:53:32.2913008Z               "line": 83
2026-06-07T22:53:32.2913095Z             }
2026-06-07T22:53:32.2913185Z           ]
2026-06-07T22:53:32.2913270Z         },
2026-06-07T22:53:32.2913356Z         "int": {
2026-06-07T22:53:32.2913452Z           "complete": false,
2026-06-07T22:53:32.2913546Z           "evidence": []
2026-06-07T22:53:32.2913628Z         },
2026-06-07T22:53:32.2913720Z         "unit": {
2026-06-07T22:53:32.2913952Z           "complete": true,
2026-06-07T22:53:32.2914044Z           "evidence": [
2026-06-07T22:53:32.2914129Z             {
2026-06-07T22:53:32.2914256Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T22:53:32.2914465Z               "line": 285
2026-06-07T22:53:32.2914554Z             },
2026-06-07T22:53:32.2914640Z             {
2026-06-07T22:53:32.2914769Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T22:53:32.2914859Z               "line": 296
2026-06-07T22:53:32.2914950Z             }
2026-06-07T22:53:32.2915036Z           ]
2026-06-07T22:53:32.2915127Z         }
2026-06-07T22:53:32.2915212Z       }
2026-06-07T22:53:32.2915299Z     },
2026-06-07T22:53:32.2915385Z     {
2026-06-07T22:53:32.2915475Z       "id": "REQ-SEC-1",
2026-06-07T22:53:32.2915865Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-07T22:53:32.2915971Z       "requiredStages": [
2026-06-07T22:53:32.2916061Z         "impl",
2026-06-07T22:53:32.2916147Z         "unit"
2026-06-07T22:53:32.2916228Z       ],
2026-06-07T22:53:32.2916320Z       "stages": {
2026-06-07T22:53:32.2916404Z         "doc": {
2026-06-07T22:53:32.2916509Z           "complete": false,
2026-06-07T22:53:32.2916596Z           "evidence": []
2026-06-07T22:53:32.2916700Z         },
2026-06-07T22:53:32.2916790Z         "impl": {
2026-06-07T22:53:32.2916880Z           "complete": true,
2026-06-07T22:53:32.2917055Z           "evidence": [
2026-06-07T22:53:32.2917135Z             {
2026-06-07T22:53:32.2917250Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-07T22:53:32.2917341Z               "line": 84
2026-06-07T22:53:32.2917430Z             },
2026-06-07T22:53:32.2917541Z             {
2026-06-07T22:53:32.2917660Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-07T22:53:32.2917754Z               "line": 114
2026-06-07T22:53:32.2917841Z             },
2026-06-07T22:53:32.2917928Z             {
2026-06-07T22:53:32.2918041Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-07T22:53:32.2918136Z               "line": 128
2026-06-07T22:53:32.2918223Z             },
2026-06-07T22:53:32.2918313Z             {
2026-06-07T22:53:32.2918432Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T22:53:32.2918519Z               "line": 108
2026-06-07T22:53:32.2918609Z             },
2026-06-07T22:53:32.2918690Z             {
2026-06-07T22:53:32.2918805Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T22:53:32.2918896Z               "line": 129
2026-06-07T22:53:32.2918980Z             },
2026-06-07T22:53:32.2919067Z             {
2026-06-07T22:53:32.2919182Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T22:53:32.2919280Z               "line": 142
2026-06-07T22:53:32.2919366Z             },
2026-06-07T22:53:32.2919452Z             {
2026-06-07T22:53:32.2919561Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T22:53:32.2919659Z               "line": 208
2026-06-07T22:53:32.2919745Z             },
2026-06-07T22:53:32.2919827Z             {
2026-06-07T22:53:32.2919940Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T22:53:32.2920035Z               "line": 234
2026-06-07T22:53:32.2920122Z             },
2026-06-07T22:53:32.2920213Z             {
2026-06-07T22:53:32.2920316Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2920413Z               "line": 3313
2026-06-07T22:53:32.2920494Z             }
2026-06-07T22:53:32.2920584Z           ]
2026-06-07T22:53:32.2920670Z         },
2026-06-07T22:53:32.2920757Z         "int": {
2026-06-07T22:53:32.2920851Z           "complete": false,
2026-06-07T22:53:32.2920946Z           "evidence": []
2026-06-07T22:53:32.2921028Z         },
2026-06-07T22:53:32.2921119Z         "unit": {
2026-06-07T22:53:32.2921213Z           "complete": true,
2026-06-07T22:53:32.2921299Z           "evidence": [
2026-06-07T22:53:32.2921509Z             {
2026-06-07T22:53:32.2921629Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-07T22:53:32.2921720Z               "line": 140
2026-06-07T22:53:32.2921805Z             },
2026-06-07T22:53:32.2921890Z             {
2026-06-07T22:53:32.2922157Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-07T22:53:32.2922270Z               "line": 192
2026-06-07T22:53:32.2922372Z             },
2026-06-07T22:53:32.2922453Z             {
2026-06-07T22:53:32.2922562Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-07T22:53:32.2922643Z               "line": 233
2026-06-07T22:53:32.2922720Z             },
2026-06-07T22:53:32.2922805Z             {
2026-06-07T22:53:32.2922924Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-07T22:53:32.2923011Z               "line": 137
2026-06-07T22:53:32.2923097Z             },
2026-06-07T22:53:32.2923177Z             {
2026-06-07T22:53:32.2923292Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T22:53:32.2923387Z               "line": 246
2026-06-07T22:53:32.2923473Z             },
2026-06-07T22:53:32.2923563Z             {
2026-06-07T22:53:32.2923674Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T22:53:32.2923768Z               "line": 276
2026-06-07T22:53:32.2923854Z             },
2026-06-07T22:53:32.2923946Z             {
2026-06-07T22:53:32.2924054Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T22:53:32.2924145Z               "line": 309
2026-06-07T22:53:32.2924241Z             },
2026-06-07T22:53:32.2924322Z             {
2026-06-07T22:53:32.2924435Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T22:53:32.2924522Z               "line": 328
2026-06-07T22:53:32.2924614Z             },
2026-06-07T22:53:32.2924698Z             {
2026-06-07T22:53:32.2924811Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T22:53:32.2924902Z               "line": 361
2026-06-07T22:53:32.2924987Z             },
2026-06-07T22:53:32.2925081Z             {
2026-06-07T22:53:32.2925200Z               "path": "crates/spt-store/src/access.rs",
2026-06-07T22:53:32.2925292Z               "line": 385
2026-06-07T22:53:32.2925377Z             },
2026-06-07T22:53:32.2925461Z             {
2026-06-07T22:53:32.2925582Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2925673Z               "line": 4871
2026-06-07T22:53:32.2925763Z             }
2026-06-07T22:53:32.2925849Z           ]
2026-06-07T22:53:32.2925935Z         }
2026-06-07T22:53:32.2926020Z       }
2026-06-07T22:53:32.2926111Z     },
2026-06-07T22:53:32.2926198Z     {
2026-06-07T22:53:32.2926292Z       "id": "REQ-SHELL-1",
2026-06-07T22:53:32.2927251Z       "title": "Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)",
2026-06-07T22:53:32.2927407Z       "requiredStages": [
2026-06-07T22:53:32.2927493Z         "impl",
2026-06-07T22:53:32.2927573Z         "unit",
2026-06-07T22:53:32.2927666Z         "int"
2026-06-07T22:53:32.2927752Z       ],
2026-06-07T22:53:32.2927849Z       "stages": {
2026-06-07T22:53:32.2927939Z         "doc": {
2026-06-07T22:53:32.2928033Z           "complete": false,
2026-06-07T22:53:32.2928130Z           "evidence": []
2026-06-07T22:53:32.2928220Z         },
2026-06-07T22:53:32.2928305Z         "impl": {
2026-06-07T22:53:32.2928401Z           "complete": true,
2026-06-07T22:53:32.2928488Z           "evidence": [
2026-06-07T22:53:32.2928573Z             {
2026-06-07T22:53:32.2928701Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T22:53:32.2928793Z               "line": 94
2026-06-07T22:53:32.2928883Z             },
2026-06-07T22:53:32.2928968Z             {
2026-06-07T22:53:32.2929084Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T22:53:32.2929288Z               "line": 119
2026-06-07T22:53:32.2929375Z             },
2026-06-07T22:53:32.2929461Z             {
2026-06-07T22:53:32.2929584Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-07T22:53:32.2929675Z               "line": 27
2026-06-07T22:53:32.2929855Z             },
2026-06-07T22:53:32.2929950Z             {
2026-06-07T22:53:32.2930069Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-07T22:53:32.2930163Z               "line": 52
2026-06-07T22:53:32.2930248Z             },
2026-06-07T22:53:32.2930334Z             {
2026-06-07T22:53:32.2930454Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-07T22:53:32.2930543Z               "line": 132
2026-06-07T22:53:32.2930629Z             },
2026-06-07T22:53:32.2930716Z             {
2026-06-07T22:53:32.2930834Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-07T22:53:32.2930925Z               "line": 164
2026-06-07T22:53:32.2931012Z             },
2026-06-07T22:53:32.2931111Z             {
2026-06-07T22:53:32.2931230Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2931322Z               "line": 22
2026-06-07T22:53:32.2931406Z             },
2026-06-07T22:53:32.2931497Z             {
2026-06-07T22:53:32.2931617Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2931707Z               "line": 65
2026-06-07T22:53:32.2931798Z             },
2026-06-07T22:53:32.2931879Z             {
2026-06-07T22:53:32.2931999Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2932088Z               "line": 76
2026-06-07T22:53:32.2932174Z             },
2026-06-07T22:53:32.2932266Z             {
2026-06-07T22:53:32.2932384Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2932479Z               "line": 150
2026-06-07T22:53:32.2932562Z             },
2026-06-07T22:53:32.2932648Z             {
2026-06-07T22:53:32.2932765Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2932864Z               "line": 209
2026-06-07T22:53:32.2932951Z             },
2026-06-07T22:53:32.2933037Z             {
2026-06-07T22:53:32.2933155Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2933247Z               "line": 246
2026-06-07T22:53:32.2933338Z             },
2026-06-07T22:53:32.2933422Z             {
2026-06-07T22:53:32.2933537Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2933633Z               "line": 267
2026-06-07T22:53:32.2933722Z             },
2026-06-07T22:53:32.2933808Z             {
2026-06-07T22:53:32.2933924Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2934014Z               "line": 280
2026-06-07T22:53:32.2934104Z             },
2026-06-07T22:53:32.2934186Z             {
2026-06-07T22:53:32.2934305Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2934395Z               "line": 189
2026-06-07T22:53:32.2934486Z             },
2026-06-07T22:53:32.2934577Z             {
2026-06-07T22:53:32.2934691Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2934782Z               "line": 205
2026-06-07T22:53:32.2934869Z             },
2026-06-07T22:53:32.2934953Z             {
2026-06-07T22:53:32.2935082Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T22:53:32.2935174Z               "line": 41
2026-06-07T22:53:32.2935258Z             },
2026-06-07T22:53:32.2935348Z             {
2026-06-07T22:53:32.2935462Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T22:53:32.2935561Z               "line": 204
2026-06-07T22:53:32.2935646Z             },
2026-06-07T22:53:32.2935731Z             {
2026-06-07T22:53:32.2935847Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-07T22:53:32.2935937Z               "line": 156
2026-06-07T22:53:32.2936027Z             },
2026-06-07T22:53:32.2936109Z             {
2026-06-07T22:53:32.2936223Z               "path": "crates/spt/src/api/mod.rs",
2026-06-07T22:53:32.2936399Z               "line": 295
2026-06-07T22:53:32.2936481Z             },
2026-06-07T22:53:32.2936566Z             {
2026-06-07T22:53:32.2936675Z               "path": "crates/spt/src/api/mod.rs",
2026-06-07T22:53:32.2936843Z               "line": 345
2026-06-07T22:53:32.2936929Z             },
2026-06-07T22:53:32.2937111Z             {
2026-06-07T22:53:32.2937234Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2937324Z               "line": 261
2026-06-07T22:53:32.2937407Z             },
2026-06-07T22:53:32.2937491Z             {
2026-06-07T22:53:32.2937601Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2937693Z               "line": 3811
2026-06-07T22:53:32.2937778Z             },
2026-06-07T22:53:32.2937867Z             {
2026-06-07T22:53:32.2937967Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2938062Z               "line": 3961
2026-06-07T22:53:32.2938146Z             },
2026-06-07T22:53:32.2938245Z             {
2026-06-07T22:53:32.2938346Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2938437Z               "line": 3998
2026-06-07T22:53:32.2938523Z             }
2026-06-07T22:53:32.2938608Z           ]
2026-06-07T22:53:32.2938700Z         },
2026-06-07T22:53:32.2938790Z         "int": {
2026-06-07T22:53:32.2938884Z           "complete": true,
2026-06-07T22:53:32.2938976Z           "evidence": [
2026-06-07T22:53:32.2939062Z             {
2026-06-07T22:53:32.2939195Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T22:53:32.2939286Z               "line": 695
2026-06-07T22:53:32.2939372Z             },
2026-06-07T22:53:32.2939453Z             {
2026-06-07T22:53:32.2939586Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-07T22:53:32.2939677Z               "line": 8
2026-06-07T22:53:32.2939762Z             },
2026-06-07T22:53:32.2939848Z             {
2026-06-07T22:53:32.2939968Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-07T22:53:32.2940072Z               "line": 49
2026-06-07T22:53:32.2940158Z             },
2026-06-07T22:53:32.2940255Z             {
2026-06-07T22:53:32.2940373Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2940472Z               "line": 706
2026-06-07T22:53:32.2940562Z             },
2026-06-07T22:53:32.2940643Z             {
2026-06-07T22:53:32.2940770Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2940860Z               "line": 1116
2026-06-07T22:53:32.2940947Z             },
2026-06-07T22:53:32.2941038Z             {
2026-06-07T22:53:32.2941156Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-07T22:53:32.2941247Z               "line": 17
2026-06-07T22:53:32.2941333Z             },
2026-06-07T22:53:32.2941423Z             {
2026-06-07T22:53:32.2941538Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-07T22:53:32.2941629Z               "line": 14
2026-06-07T22:53:32.2941719Z             }
2026-06-07T22:53:32.2941814Z           ]
2026-06-07T22:53:32.2941910Z         },
2026-06-07T22:53:32.2942005Z         "unit": {
2026-06-07T22:53:32.2942105Z           "complete": true,
2026-06-07T22:53:32.2942191Z           "evidence": [
2026-06-07T22:53:32.2942286Z             {
2026-06-07T22:53:32.2942405Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-07T22:53:32.2942497Z               "line": 234
2026-06-07T22:53:32.2942587Z             },
2026-06-07T22:53:32.2942672Z             {
2026-06-07T22:53:32.2942797Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-07T22:53:32.2942888Z               "line": 267
2026-06-07T22:53:32.2942986Z             },
2026-06-07T22:53:32.2943078Z             {
2026-06-07T22:53:32.2943194Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-07T22:53:32.2943287Z               "line": 307
2026-06-07T22:53:32.2943372Z             },
2026-06-07T22:53:32.2943458Z             {
2026-06-07T22:53:32.2943578Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2943773Z               "line": 519
2026-06-07T22:53:32.2943868Z             },
2026-06-07T22:53:32.2943958Z             {
2026-06-07T22:53:32.2944078Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2944283Z               "line": 592
2026-06-07T22:53:32.2944368Z             },
2026-06-07T22:53:32.2944461Z             {
2026-06-07T22:53:32.2944574Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2944669Z               "line": 736
2026-06-07T22:53:32.2944756Z             },
2026-06-07T22:53:32.2944845Z             {
2026-06-07T22:53:32.2944960Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.2945056Z               "line": 567
2026-06-07T22:53:32.2945142Z             },
2026-06-07T22:53:32.2945227Z             {
2026-06-07T22:53:32.2945352Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-07T22:53:32.2945443Z               "line": 352
2026-06-07T22:53:32.2945546Z             },
2026-06-07T22:53:32.2945633Z             {
2026-06-07T22:53:32.2945744Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2945841Z               "line": 5219
2026-06-07T22:53:32.2945922Z             },
2026-06-07T22:53:32.2946022Z             {
2026-06-07T22:53:32.2946126Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2946220Z               "line": 5541
2026-06-07T22:53:32.2946306Z             },
2026-06-07T22:53:32.2946397Z             {
2026-06-07T22:53:32.2946506Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2946601Z               "line": 5907
2026-06-07T22:53:32.2946694Z             }
2026-06-07T22:53:32.2946779Z           ]
2026-06-07T22:53:32.2946868Z         }
2026-06-07T22:53:32.2947041Z       }
2026-06-07T22:53:32.2947127Z     },
2026-06-07T22:53:32.2947212Z     {
2026-06-07T22:53:32.2947309Z       "id": "REQ-SHELL-2",
2026-06-07T22:53:32.2948873Z       "title": "Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)",
2026-06-07T22:53:32.2948988Z       "requiredStages": [
2026-06-07T22:53:32.2949087Z         "impl",
2026-06-07T22:53:32.2949178Z         "unit",
2026-06-07T22:53:32.2949269Z         "int"
2026-06-07T22:53:32.2949360Z       ],
2026-06-07T22:53:32.2949440Z       "stages": {
2026-06-07T22:53:32.2949541Z         "doc": {
2026-06-07T22:53:32.2949632Z           "complete": false,
2026-06-07T22:53:32.2949717Z           "evidence": []
2026-06-07T22:53:32.2949812Z         },
2026-06-07T22:53:32.2949899Z         "impl": {
2026-06-07T22:53:32.2950003Z           "complete": true,
2026-06-07T22:53:32.2950156Z           "evidence": [
2026-06-07T22:53:32.2950237Z             {
2026-06-07T22:53:32.2950351Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T22:53:32.2950475Z               "line": 235
2026-06-07T22:53:32.2950562Z             },
2026-06-07T22:53:32.2950647Z             {
2026-06-07T22:53:32.2950771Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-07T22:53:32.2950858Z               "line": 389
2026-06-07T22:53:32.2950952Z             },
2026-06-07T22:53:32.2951041Z             {
2026-06-07T22:53:32.2951170Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-07T22:53:32.2951259Z               "line": 250
2026-06-07T22:53:32.2951363Z             },
2026-06-07T22:53:32.2951478Z             {
2026-06-07T22:53:32.2951621Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.2951716Z               "line": 310
2026-06-07T22:53:32.2951807Z             },
2026-06-07T22:53:32.2951888Z             {
2026-06-07T22:53:32.2952011Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T22:53:32.2952203Z               "line": 30
2026-06-07T22:53:32.2952321Z             },
2026-06-07T22:53:32.2952423Z             {
2026-06-07T22:53:32.2952546Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T22:53:32.2952738Z               "line": 150
2026-06-07T22:53:32.2952828Z             },
2026-06-07T22:53:32.2952913Z             {
2026-06-07T22:53:32.2953033Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T22:53:32.2953128Z               "line": 186
2026-06-07T22:53:32.2953213Z             },
2026-06-07T22:53:32.2953299Z             {
2026-06-07T22:53:32.2953424Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T22:53:32.2953514Z               "line": 345
2026-06-07T22:53:32.2953599Z             },
2026-06-07T22:53:32.2953687Z             {
2026-06-07T22:53:32.2953806Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2953894Z               "line": 348
2026-06-07T22:53:32.2953989Z             },
2026-06-07T22:53:32.2954077Z             {
2026-06-07T22:53:32.2954199Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-07T22:53:32.2954294Z               "line": 115
2026-06-07T22:53:32.2954377Z             },
2026-06-07T22:53:32.2954472Z             {
2026-06-07T22:53:32.2954590Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2954687Z               "line": 120
2026-06-07T22:53:32.2954772Z             },
2026-06-07T22:53:32.2954848Z             {
2026-06-07T22:53:32.2954968Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2955054Z               "line": 360
2026-06-07T22:53:32.2955144Z             },
2026-06-07T22:53:32.2955234Z             {
2026-06-07T22:53:32.2955359Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2955448Z               "line": 464
2026-06-07T22:53:32.2955534Z             },
2026-06-07T22:53:32.2955621Z             {
2026-06-07T22:53:32.2955744Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2955839Z               "line": 24
2026-06-07T22:53:32.2955927Z             },
2026-06-07T22:53:32.2956017Z             {
2026-06-07T22:53:32.2956140Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2956237Z               "line": 76
2026-06-07T22:53:32.2956327Z             },
2026-06-07T22:53:32.2956411Z             {
2026-06-07T22:53:32.2956534Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2956630Z               "line": 154
2026-06-07T22:53:32.2956714Z             },
2026-06-07T22:53:32.2956814Z             {
2026-06-07T22:53:32.2956929Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2957124Z               "line": 177
2026-06-07T22:53:32.2957210Z             },
2026-06-07T22:53:32.2957300Z             {
2026-06-07T22:53:32.2957419Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2957515Z               "line": 273
2026-06-07T22:53:32.2957611Z             },
2026-06-07T22:53:32.2957692Z             {
2026-06-07T22:53:32.2957815Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2957902Z               "line": 450
2026-06-07T22:53:32.2958007Z             },
2026-06-07T22:53:32.2958092Z             {
2026-06-07T22:53:32.2958212Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2958306Z               "line": 532
2026-06-07T22:53:32.2958387Z             },
2026-06-07T22:53:32.2958484Z             {
2026-06-07T22:53:32.2958606Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-07T22:53:32.2958702Z               "line": 27
2026-06-07T22:53:32.2958789Z             },
2026-06-07T22:53:32.2958880Z             {
2026-06-07T22:53:32.2959002Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-07T22:53:32.2959092Z               "line": 43
2026-06-07T22:53:32.2959188Z             },
2026-06-07T22:53:32.2959375Z             {
2026-06-07T22:53:32.2959500Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2959591Z               "line": 323
2026-06-07T22:53:32.2959676Z             },
2026-06-07T22:53:32.2959762Z             {
2026-06-07T22:53:32.2959957Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2960053Z               "line": 1194
2026-06-07T22:53:32.2960140Z             },
2026-06-07T22:53:32.2960230Z             {
2026-06-07T22:53:32.2960339Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2960436Z               "line": 3825
2026-06-07T22:53:32.2960525Z             },
2026-06-07T22:53:32.2960611Z             {
2026-06-07T22:53:32.2960721Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2960812Z               "line": 3886
2026-06-07T22:53:32.2960901Z             },
2026-06-07T22:53:32.2960992Z             {
2026-06-07T22:53:32.2961094Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2961187Z               "line": 3914
2026-06-07T22:53:32.2961283Z             },
2026-06-07T22:53:32.2961370Z             {
2026-06-07T22:53:32.2961474Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2961568Z               "line": 3968
2026-06-07T22:53:32.2961659Z             },
2026-06-07T22:53:32.2961749Z             {
2026-06-07T22:53:32.2961852Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2961942Z               "line": 4084
2026-06-07T22:53:32.2962033Z             },
2026-06-07T22:53:32.2962120Z             {
2026-06-07T22:53:32.2962224Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2962314Z               "line": 4137
2026-06-07T22:53:32.2962406Z             },
2026-06-07T22:53:32.2962491Z             {
2026-06-07T22:53:32.2962605Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T22:53:32.2962701Z               "line": 298
2026-06-07T22:53:32.2962787Z             },
2026-06-07T22:53:32.2962872Z             {
2026-06-07T22:53:32.2962983Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T22:53:32.2963082Z               "line": 339
2026-06-07T22:53:32.2963168Z             }
2026-06-07T22:53:32.2963254Z           ]
2026-06-07T22:53:32.2963345Z         },
2026-06-07T22:53:32.2963435Z         "int": {
2026-06-07T22:53:32.2963539Z           "complete": true,
2026-06-07T22:53:32.2963632Z           "evidence": [
2026-06-07T22:53:32.2963726Z             {
2026-06-07T22:53:32.2963854Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T22:53:32.2963947Z               "line": 688
2026-06-07T22:53:32.2964046Z             },
2026-06-07T22:53:32.2964135Z             {
2026-06-07T22:53:32.2964252Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2964351Z               "line": 706
2026-06-07T22:53:32.2964431Z             },
2026-06-07T22:53:32.2964526Z             {
2026-06-07T22:53:32.2964642Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.2964736Z               "line": 1116
2026-06-07T22:53:32.2964830Z             },
2026-06-07T22:53:32.2964913Z             {
2026-06-07T22:53:32.2965046Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-07T22:53:32.2965135Z               "line": 18
2026-06-07T22:53:32.2965228Z             }
2026-06-07T22:53:32.2965322Z           ]
2026-06-07T22:53:32.2965417Z         },
2026-06-07T22:53:32.2965508Z         "unit": {
2026-06-07T22:53:32.2965600Z           "complete": true,
2026-06-07T22:53:32.2965695Z           "evidence": [
2026-06-07T22:53:32.2965784Z             {
2026-06-07T22:53:32.2965910Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-07T22:53:32.2965999Z               "line": 429
2026-06-07T22:53:32.2966090Z             },
2026-06-07T22:53:32.2966182Z             {
2026-06-07T22:53:32.2966300Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-07T22:53:32.2966395Z               "line": 794
2026-06-07T22:53:32.2966487Z             },
2026-06-07T22:53:32.2966573Z             {
2026-06-07T22:53:32.2966782Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2966878Z               "line": 625
2026-06-07T22:53:32.2967052Z             },
2026-06-07T22:53:32.2967138Z             {
2026-06-07T22:53:32.2967256Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2967446Z               "line": 674
2026-06-07T22:53:32.2967532Z             },
2026-06-07T22:53:32.2967618Z             {
2026-06-07T22:53:32.2967736Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-07T22:53:32.2967833Z               "line": 698
2026-06-07T22:53:32.2967914Z             },
2026-06-07T22:53:32.2968003Z             {
2026-06-07T22:53:32.2968119Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2968213Z               "line": 596
2026-06-07T22:53:32.2968298Z             },
2026-06-07T22:53:32.2968390Z             {
2026-06-07T22:53:32.2968514Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2968613Z               "line": 617
2026-06-07T22:53:32.2968704Z             },
2026-06-07T22:53:32.2968792Z             {
2026-06-07T22:53:32.2968914Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2969005Z               "line": 653
2026-06-07T22:53:32.2969097Z             },
2026-06-07T22:53:32.2969181Z             {
2026-06-07T22:53:32.2969301Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2969392Z               "line": 707
2026-06-07T22:53:32.2969473Z             },
2026-06-07T22:53:32.2969557Z             {
2026-06-07T22:53:32.2969666Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2969757Z               "line": 725
2026-06-07T22:53:32.2969845Z             },
2026-06-07T22:53:32.2969936Z             {
2026-06-07T22:53:32.2970061Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2970165Z               "line": 759
2026-06-07T22:53:32.2970255Z             },
2026-06-07T22:53:32.2970346Z             {
2026-06-07T22:53:32.2970471Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-07T22:53:32.2970565Z               "line": 834
2026-06-07T22:53:32.2970651Z             },
2026-06-07T22:53:32.2970732Z             {
2026-06-07T22:53:32.2970861Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-07T22:53:32.2970986Z               "line": 80
2026-06-07T22:53:32.2971075Z             },
2026-06-07T22:53:32.2971156Z             {
2026-06-07T22:53:32.2971267Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2971358Z               "line": 4698
2026-06-07T22:53:32.2971442Z             },
2026-06-07T22:53:32.2971529Z             {
2026-06-07T22:53:32.2971635Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2971729Z               "line": 5296
2026-06-07T22:53:32.2971814Z             },
2026-06-07T22:53:32.2971901Z             {
2026-06-07T22:53:32.2972006Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2972110Z               "line": 5366
2026-06-07T22:53:32.2972195Z             },
2026-06-07T22:53:32.2972286Z             {
2026-06-07T22:53:32.2972393Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.2972483Z               "line": 5404
2026-06-07T22:53:32.2972579Z             }
2026-06-07T22:53:32.2972666Z           ]
2026-06-07T22:53:32.2972755Z         }
2026-06-07T22:53:32.2972841Z       }
2026-06-07T22:53:32.2972937Z     },
2026-06-07T22:53:32.2973023Z     {
2026-06-07T22:53:32.2973117Z       "id": "REQ-START-1",
2026-06-07T22:53:32.2973314Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-07T22:53:32.2973423Z       "requiredStages": [
2026-06-07T22:53:32.2973509Z         "impl",
2026-06-07T22:53:32.2973590Z         "unit"
2026-06-07T22:53:32.2973671Z       ],
2026-06-07T22:53:32.2973757Z       "stages": {
2026-06-07T22:53:32.2973843Z         "doc": {
2026-06-07T22:53:32.2973939Z           "complete": false,
2026-06-07T22:53:32.2974028Z           "evidence": []
2026-06-07T22:53:32.2974220Z         },
2026-06-07T22:53:32.2974329Z         "impl": {
2026-06-07T22:53:32.2974429Z           "complete": true,
2026-06-07T22:53:32.2974521Z           "evidence": [
2026-06-07T22:53:32.2976654Z             {
2026-06-07T22:53:32.2977123Z               "path": "crates/spt-store/src/seed.rs",
2026-06-07T22:53:32.2977222Z               "line": 16
2026-06-07T22:53:32.2977313Z             }
2026-06-07T22:53:32.2977405Z           ]
2026-06-07T22:53:32.2977495Z         },
2026-06-07T22:53:32.2977584Z         "int": {
2026-06-07T22:53:32.2977684Z           "complete": false,
2026-06-07T22:53:32.2977784Z           "evidence": []
2026-06-07T22:53:32.2977872Z         },
2026-06-07T22:53:32.2977962Z         "unit": {
2026-06-07T22:53:32.2978054Z           "complete": true,
2026-06-07T22:53:32.2978150Z           "evidence": [
2026-06-07T22:53:32.2978239Z             {
2026-06-07T22:53:32.2978359Z               "path": "crates/spt-store/src/seed.rs",
2026-06-07T22:53:32.2978459Z               "line": 43
2026-06-07T22:53:32.2978553Z             },
2026-06-07T22:53:32.2978640Z             {
2026-06-07T22:53:32.2978750Z               "path": "crates/spt-store/src/seed.rs",
2026-06-07T22:53:32.2978845Z               "line": 59
2026-06-07T22:53:32.2978950Z             }
2026-06-07T22:53:32.2979037Z           ]
2026-06-07T22:53:32.2979127Z         }
2026-06-07T22:53:32.2979212Z       }
2026-06-07T22:53:32.2979299Z     },
2026-06-07T22:53:32.2979384Z     {
2026-06-07T22:53:32.2979484Z       "id": "REQ-START-2",
2026-06-07T22:53:32.2979633Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-07T22:53:32.2979732Z       "requiredStages": [
2026-06-07T22:53:32.2979822Z         "impl",
2026-06-07T22:53:32.2979904Z         "unit",
2026-06-07T22:53:32.2980000Z         "int"
2026-06-07T22:53:32.2980084Z       ],
2026-06-07T22:53:32.2980174Z       "stages": {
2026-06-07T22:53:32.2980265Z         "doc": {
2026-06-07T22:53:32.2980355Z           "complete": false,
2026-06-07T22:53:32.2980453Z           "evidence": []
2026-06-07T22:53:32.2980538Z         },
2026-06-07T22:53:32.2980626Z         "impl": {
2026-06-07T22:53:32.2980721Z           "complete": true,
2026-06-07T22:53:32.2980811Z           "evidence": [
2026-06-07T22:53:32.2980897Z             {
2026-06-07T22:53:32.2981021Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2981110Z               "line": 16
2026-06-07T22:53:32.2981192Z             },
2026-06-07T22:53:32.2981279Z             {
2026-06-07T22:53:32.2981392Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2981483Z               "line": 100
2026-06-07T22:53:32.2981570Z             },
2026-06-07T22:53:32.2981655Z             {
2026-06-07T22:53:32.2981774Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2981865Z               "line": 208
2026-06-07T22:53:32.2981955Z             }
2026-06-07T22:53:32.2982036Z           ]
2026-06-07T22:53:32.2982122Z         },
2026-06-07T22:53:32.2982209Z         "int": {
2026-06-07T22:53:32.2982312Z           "complete": true,
2026-06-07T22:53:32.2982403Z           "evidence": [
2026-06-07T22:53:32.2982486Z             {
2026-06-07T22:53:32.2982613Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T22:53:32.2982712Z               "line": 182
2026-06-07T22:53:32.2982798Z             }
2026-06-07T22:53:32.2982888Z           ]
2026-06-07T22:53:32.2982972Z         },
2026-06-07T22:53:32.2983058Z         "unit": {
2026-06-07T22:53:32.2983153Z           "complete": true,
2026-06-07T22:53:32.2983245Z           "evidence": [
2026-06-07T22:53:32.2983325Z             {
2026-06-07T22:53:32.2983444Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2983535Z               "line": 421
2026-06-07T22:53:32.2983621Z             },
2026-06-07T22:53:32.2983706Z             {
2026-06-07T22:53:32.2983817Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2983907Z               "line": 454
2026-06-07T22:53:32.2983992Z             }
2026-06-07T22:53:32.2984188Z           ]
2026-06-07T22:53:32.2984279Z         }
2026-06-07T22:53:32.2984364Z       }
2026-06-07T22:53:32.2984447Z     },
2026-06-07T22:53:32.2984531Z     {
2026-06-07T22:53:32.2984627Z       "id": "REQ-START-3",
2026-06-07T22:53:32.2984894Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-07T22:53:32.2984994Z       "requiredStages": [
2026-06-07T22:53:32.2985081Z         "impl",
2026-06-07T22:53:32.2985166Z         "unit",
2026-06-07T22:53:32.2985255Z         "int"
2026-06-07T22:53:32.2985338Z       ],
2026-06-07T22:53:32.2985429Z       "stages": {
2026-06-07T22:53:32.2985513Z         "doc": {
2026-06-07T22:53:32.2985612Z           "complete": false,
2026-06-07T22:53:32.2985704Z           "evidence": []
2026-06-07T22:53:32.2985790Z         },
2026-06-07T22:53:32.2985880Z         "impl": {
2026-06-07T22:53:32.2985970Z           "complete": true,
2026-06-07T22:53:32.2986062Z           "evidence": [
2026-06-07T22:53:32.2986148Z             {
2026-06-07T22:53:32.2986285Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-07T22:53:32.2986376Z               "line": 23
2026-06-07T22:53:32.2986462Z             },
2026-06-07T22:53:32.2986547Z             {
2026-06-07T22:53:32.2986668Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-07T22:53:32.2986767Z               "line": 205
2026-06-07T22:53:32.2986852Z             },
2026-06-07T22:53:32.2986939Z             {
2026-06-07T22:53:32.2987143Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-07T22:53:32.2987234Z               "line": 221
2026-06-07T22:53:32.2987316Z             },
2026-06-07T22:53:32.2987401Z             {
2026-06-07T22:53:32.2987516Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2987607Z               "line": 17
2026-06-07T22:53:32.2987698Z             },
2026-06-07T22:53:32.2987782Z             {
2026-06-07T22:53:32.2987893Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2987989Z               "line": 43
2026-06-07T22:53:32.2988073Z             },
2026-06-07T22:53:32.2988158Z             {
2026-06-07T22:53:32.2988268Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2988358Z               "line": 101
2026-06-07T22:53:32.2988456Z             }
2026-06-07T22:53:32.2988542Z           ]
2026-06-07T22:53:32.2988629Z         },
2026-06-07T22:53:32.2988715Z         "int": {
2026-06-07T22:53:32.2988808Z           "complete": true,
2026-06-07T22:53:32.2988895Z           "evidence": [
2026-06-07T22:53:32.2988981Z             {
2026-06-07T22:53:32.2989100Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-07T22:53:32.2989185Z               "line": 436
2026-06-07T22:53:32.2989272Z             }
2026-06-07T22:53:32.2989357Z           ]
2026-06-07T22:53:32.2989442Z         },
2026-06-07T22:53:32.2989525Z         "unit": {
2026-06-07T22:53:32.2989620Z           "complete": true,
2026-06-07T22:53:32.2989710Z           "evidence": [
2026-06-07T22:53:32.2989806Z             {
2026-06-07T22:53:32.2989921Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-07T22:53:32.2990010Z               "line": 331
2026-06-07T22:53:32.2990096Z             },
2026-06-07T22:53:32.2990179Z             {
2026-06-07T22:53:32.2990301Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-07T22:53:32.2990392Z               "line": 352
2026-06-07T22:53:32.2990474Z             },
2026-06-07T22:53:32.2990560Z             {
2026-06-07T22:53:32.2990672Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-07T22:53:32.2990767Z               "line": 362
2026-06-07T22:53:32.2990853Z             },
2026-06-07T22:53:32.2990925Z             {
2026-06-07T22:53:32.2991037Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2991118Z               "line": 422
2026-06-07T22:53:32.2991200Z             },
2026-06-07T22:53:32.2991286Z             {
2026-06-07T22:53:32.2991399Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2991762Z               "line": 455
2026-06-07T22:53:32.2991849Z             },
2026-06-07T22:53:32.2991934Z             {
2026-06-07T22:53:32.2992043Z               "path": "crates/spt/src/api/startup.rs",
2026-06-07T22:53:32.2992140Z               "line": 463
2026-06-07T22:53:32.2992310Z             }
2026-06-07T22:53:32.2992397Z           ]
2026-06-07T22:53:32.2992483Z         }
2026-06-07T22:53:32.2992567Z       }
2026-06-07T22:53:32.2992658Z     },
2026-06-07T22:53:32.2992740Z     {
2026-06-07T22:53:32.2992840Z       "id": "REQ-START-4",
2026-06-07T22:53:32.2992978Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-07T22:53:32.2993074Z       "requiredStages": [
2026-06-07T22:53:32.2993164Z         "impl",
2026-06-07T22:53:32.2993249Z         "unit"
2026-06-07T22:53:32.2993339Z       ],
2026-06-07T22:53:32.2993430Z       "stages": {
2026-06-07T22:53:32.2993518Z         "doc": {
2026-06-07T22:53:32.2993613Z           "complete": false,
2026-06-07T22:53:32.2993704Z           "evidence": []
2026-06-07T22:53:32.2993806Z         },
2026-06-07T22:53:32.2993894Z         "impl": {
2026-06-07T22:53:32.2993985Z           "complete": true,
2026-06-07T22:53:32.2994072Z           "evidence": [
2026-06-07T22:53:32.2994162Z             {
2026-06-07T22:53:32.2994300Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2994391Z               "line": 391
2026-06-07T22:53:32.2994477Z             }
2026-06-07T22:53:32.2994562Z           ]
2026-06-07T22:53:32.2994649Z         },
2026-06-07T22:53:32.2994734Z         "int": {
2026-06-07T22:53:32.2994834Z           "complete": false,
2026-06-07T22:53:32.2994924Z           "evidence": []
2026-06-07T22:53:32.2995012Z         },
2026-06-07T22:53:32.2995096Z         "unit": {
2026-06-07T22:53:32.2995192Z           "complete": true,
2026-06-07T22:53:32.2995288Z           "evidence": [
2026-06-07T22:53:32.2995369Z             {
2026-06-07T22:53:32.2995487Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-07T22:53:32.2995588Z               "line": 660
2026-06-07T22:53:32.2995679Z             }
2026-06-07T22:53:32.2995763Z           ]
2026-06-07T22:53:32.2995850Z         }
2026-06-07T22:53:32.2995941Z       }
2026-06-07T22:53:32.2996022Z     },
2026-06-07T22:53:32.2996111Z     {
2026-06-07T22:53:32.2996211Z       "id": "REQ-STORE-1",
2026-06-07T22:53:32.2997131Z       "title": "spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)",
2026-06-07T22:53:32.2997233Z       "requiredStages": [
2026-06-07T22:53:32.2997317Z         "impl",
2026-06-07T22:53:32.2997403Z         "unit"
2026-06-07T22:53:32.2997489Z       ],
2026-06-07T22:53:32.2997580Z       "stages": {
2026-06-07T22:53:32.2997666Z         "doc": {
2026-06-07T22:53:32.2997761Z           "complete": false,
2026-06-07T22:53:32.2997857Z           "evidence": []
2026-06-07T22:53:32.2997943Z         },
2026-06-07T22:53:32.2998032Z         "impl": {
2026-06-07T22:53:32.2998118Z           "complete": true,
2026-06-07T22:53:32.2998210Z           "evidence": [
2026-06-07T22:53:32.2998309Z             {
2026-06-07T22:53:32.2998438Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.2998530Z               "line": 23
2026-06-07T22:53:32.2998619Z             },
2026-06-07T22:53:32.2998704Z             {
2026-06-07T22:53:32.2998828Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.2998922Z               "line": 46
2026-06-07T22:53:32.2999012Z             },
2026-06-07T22:53:32.2999097Z             {
2026-06-07T22:53:32.2999218Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.2999307Z               "line": 97
2026-06-07T22:53:32.2999397Z             },
2026-06-07T22:53:32.2999479Z             {
2026-06-07T22:53:32.2999604Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.2999804Z               "line": 125
2026-06-07T22:53:32.2999899Z             },
2026-06-07T22:53:32.2999984Z             {
2026-06-07T22:53:32.3000105Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.3000285Z               "line": 181
2026-06-07T22:53:32.3000366Z             },
2026-06-07T22:53:32.3000457Z             {
2026-06-07T22:53:32.3000600Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.3000695Z               "line": 205
2026-06-07T22:53:32.3000801Z             },
2026-06-07T22:53:32.3000894Z             {
2026-06-07T22:53:32.3001024Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.3001106Z               "line": 441
2026-06-07T22:53:32.3001195Z             },
2026-06-07T22:53:32.3001280Z             {
2026-06-07T22:53:32.3001413Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.3001526Z               "line": 25
2026-06-07T22:53:32.3001621Z             },
2026-06-07T22:53:32.3001712Z             {
2026-06-07T22:53:32.3001836Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.3001926Z               "line": 104
2026-06-07T22:53:32.3002022Z             },
2026-06-07T22:53:32.3002103Z             {
2026-06-07T22:53:32.3002226Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.3002312Z               "line": 132
2026-06-07T22:53:32.3002399Z             },
2026-06-07T22:53:32.3002485Z             {
2026-06-07T22:53:32.3002608Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.3002695Z               "line": 148
2026-06-07T22:53:32.3002780Z             },
2026-06-07T22:53:32.3002865Z             {
2026-06-07T22:53:32.3002986Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.3003081Z               "line": 166
2026-06-07T22:53:32.3003171Z             },
2026-06-07T22:53:32.3003257Z             {
2026-06-07T22:53:32.3003382Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.3003471Z               "line": 175
2026-06-07T22:53:32.3003562Z             },
2026-06-07T22:53:32.3003644Z             {
2026-06-07T22:53:32.3003762Z               "path": "crates/spt-store/src/project.rs",
2026-06-07T22:53:32.3003866Z               "line": 16
2026-06-07T22:53:32.3003952Z             },
2026-06-07T22:53:32.3004037Z             {
2026-06-07T22:53:32.3004149Z               "path": "crates/spt-store/src/project.rs",
2026-06-07T22:53:32.3004240Z               "line": 63
2026-06-07T22:53:32.3004317Z             }
2026-06-07T22:53:32.3004403Z           ]
2026-06-07T22:53:32.3004488Z         },
2026-06-07T22:53:32.3004574Z         "int": {
2026-06-07T22:53:32.3004670Z           "complete": false,
2026-06-07T22:53:32.3004760Z           "evidence": []
2026-06-07T22:53:32.3004845Z         },
2026-06-07T22:53:32.3004933Z         "unit": {
2026-06-07T22:53:32.3005027Z           "complete": true,
2026-06-07T22:53:32.3005127Z           "evidence": [
2026-06-07T22:53:32.3005209Z             {
2026-06-07T22:53:32.3005332Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.3005422Z               "line": 558
2026-06-07T22:53:32.3005519Z             },
2026-06-07T22:53:32.3005600Z             {
2026-06-07T22:53:32.3005718Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.3005814Z               "line": 568
2026-06-07T22:53:32.3005901Z             },
2026-06-07T22:53:32.3005990Z             {
2026-06-07T22:53:32.3006110Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.3006201Z               "line": 590
2026-06-07T22:53:32.3006286Z             },
2026-06-07T22:53:32.3006371Z             {
2026-06-07T22:53:32.3006487Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.3006578Z               "line": 606
2026-06-07T22:53:32.3006662Z             },
2026-06-07T22:53:32.3006747Z             {
2026-06-07T22:53:32.3007048Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-07T22:53:32.3007138Z               "line": 629
2026-06-07T22:53:32.3007229Z             },
2026-06-07T22:53:32.3007314Z             {
2026-06-07T22:53:32.3007439Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.3007629Z               "line": 440
2026-06-07T22:53:32.3007715Z             },
2026-06-07T22:53:32.3007802Z             {
2026-06-07T22:53:32.3007921Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-07T22:53:32.3008011Z               "line": 475
2026-06-07T22:53:32.3008097Z             },
2026-06-07T22:53:32.3008183Z             {
2026-06-07T22:53:32.3008302Z               "path": "crates/spt-store/src/project.rs",
2026-06-07T22:53:32.3008388Z               "line": 120
2026-06-07T22:53:32.3008474Z             },
2026-06-07T22:53:32.3008559Z             {
2026-06-07T22:53:32.3008674Z               "path": "crates/spt-store/src/project.rs",
2026-06-07T22:53:32.3008775Z               "line": 128
2026-06-07T22:53:32.3008855Z             }
2026-06-07T22:53:32.3008940Z           ]
2026-06-07T22:53:32.3009023Z         }
2026-06-07T22:53:32.3009109Z       }
2026-06-07T22:53:32.3009193Z     },
2026-06-07T22:53:32.3009283Z     {
2026-06-07T22:53:32.3009378Z       "id": "REQ-SUBNET-1",
2026-06-07T22:53:32.3009691Z       "title": "spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-code; spt pair deleted",
2026-06-07T22:53:32.3009792Z       "requiredStages": [
2026-06-07T22:53:32.3009881Z         "impl",
2026-06-07T22:53:32.3009972Z         "unit"
2026-06-07T22:53:32.3010059Z       ],
2026-06-07T22:53:32.3010144Z       "stages": {
2026-06-07T22:53:32.3010229Z         "doc": {
2026-06-07T22:53:32.3010320Z           "complete": false,
2026-06-07T22:53:32.3010416Z           "evidence": []
2026-06-07T22:53:32.3010506Z         },
2026-06-07T22:53:32.3010592Z         "impl": {
2026-06-07T22:53:32.3010688Z           "complete": true,
2026-06-07T22:53:32.3010783Z           "evidence": [
2026-06-07T22:53:32.3010873Z             {
2026-06-07T22:53:32.3010999Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.3011093Z               "line": 240
2026-06-07T22:53:32.3011183Z             },
2026-06-07T22:53:32.3011274Z             {
2026-06-07T22:53:32.3011398Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.3011489Z               "line": 478
2026-06-07T22:53:32.3011580Z             },
2026-06-07T22:53:32.3011666Z             {
2026-06-07T22:53:32.3011769Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3011864Z               "line": 2043
2026-06-07T22:53:32.3011950Z             },
2026-06-07T22:53:32.3012040Z             {
2026-06-07T22:53:32.3012147Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3012238Z               "line": 2208
2026-06-07T22:53:32.3012325Z             },
2026-06-07T22:53:32.3012410Z             {
2026-06-07T22:53:32.3012514Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3012611Z               "line": 2227
2026-06-07T22:53:32.3012696Z             },
2026-06-07T22:53:32.3012782Z             {
2026-06-07T22:53:32.3012882Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3012978Z               "line": 2288
2026-06-07T22:53:32.3013073Z             },
2026-06-07T22:53:32.3013154Z             {
2026-06-07T22:53:32.3013264Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3013359Z               "line": 2330
2026-06-07T22:53:32.3013444Z             },
2026-06-07T22:53:32.3013532Z             {
2026-06-07T22:53:32.3013631Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3013717Z               "line": 2499
2026-06-07T22:53:32.3013803Z             },
2026-06-07T22:53:32.3013894Z             {
2026-06-07T22:53:32.3013998Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3014088Z               "line": 2556
2026-06-07T22:53:32.3014285Z             },
2026-06-07T22:53:32.3014369Z             {
2026-06-07T22:53:32.3014473Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3014560Z               "line": 2680
2026-06-07T22:53:32.3014648Z             },
2026-06-07T22:53:32.3014738Z             {
2026-06-07T22:53:32.3014921Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T22:53:32.3015010Z               "line": 412
2026-06-07T22:53:32.3015095Z             }
2026-06-07T22:53:32.3015183Z           ]
2026-06-07T22:53:32.3015264Z         },
2026-06-07T22:53:32.3015357Z         "int": {
2026-06-07T22:53:32.3015459Z           "complete": false,
2026-06-07T22:53:32.3015554Z           "evidence": []
2026-06-07T22:53:32.3015640Z         },
2026-06-07T22:53:32.3015725Z         "unit": {
2026-06-07T22:53:32.3015822Z           "complete": true,
2026-06-07T22:53:32.3015916Z           "evidence": [
2026-06-07T22:53:32.3016001Z             {
2026-06-07T22:53:32.3016132Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.3016231Z               "line": 1150
2026-06-07T22:53:32.3016321Z             },
2026-06-07T22:53:32.3016404Z             {
2026-06-07T22:53:32.3016513Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3016603Z               "line": 6153
2026-06-07T22:53:32.3016693Z             },
2026-06-07T22:53:32.3016785Z             {
2026-06-07T22:53:32.3016883Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3017057Z               "line": 6298
2026-06-07T22:53:32.3017143Z             },
2026-06-07T22:53:32.3017231Z             {
2026-06-07T22:53:32.3017335Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3017437Z               "line": 6305
2026-06-07T22:53:32.3017527Z             },
2026-06-07T22:53:32.3017613Z             {
2026-06-07T22:53:32.3017723Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3017819Z               "line": 6358
2026-06-07T22:53:32.3017903Z             },
2026-06-07T22:53:32.3017989Z             {
2026-06-07T22:53:32.3018099Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3018189Z               "line": 6375
2026-06-07T22:53:32.3018280Z             },
2026-06-07T22:53:32.3018372Z             {
2026-06-07T22:53:32.3018471Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3018571Z               "line": 6389
2026-06-07T22:53:32.3018657Z             },
2026-06-07T22:53:32.3018738Z             {
2026-06-07T22:53:32.3018843Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3018933Z               "line": 6487
2026-06-07T22:53:32.3019021Z             }
2026-06-07T22:53:32.3019105Z           ]
2026-06-07T22:53:32.3019205Z         }
2026-06-07T22:53:32.3019292Z       }
2026-06-07T22:53:32.3019382Z     },
2026-06-07T22:53:32.3019467Z     {
2026-06-07T22:53:32.3019554Z       "id": "REQ-SUBNET-2",
2026-06-07T22:53:32.3019829Z       "title": "Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder",
2026-06-07T22:53:32.3019933Z       "requiredStages": [
2026-06-07T22:53:32.3020024Z         "impl",
2026-06-07T22:53:32.3020127Z         "unit",
2026-06-07T22:53:32.3020222Z         "int"
2026-06-07T22:53:32.3020328Z       ],
2026-06-07T22:53:32.3020418Z       "stages": {
2026-06-07T22:53:32.3020508Z         "doc": {
2026-06-07T22:53:32.3020605Z           "complete": true,
2026-06-07T22:53:32.3020700Z           "evidence": [
2026-06-07T22:53:32.3020775Z             {
2026-06-07T22:53:32.3020925Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-07T22:53:32.3021019Z               "line": 60
2026-06-07T22:53:32.3021099Z             }
2026-06-07T22:53:32.3021210Z           ]
2026-06-07T22:53:32.3021315Z         },
2026-06-07T22:53:32.3021405Z         "impl": {
2026-06-07T22:53:32.3021520Z           "complete": true,
2026-06-07T22:53:32.3021610Z           "evidence": [
2026-06-07T22:53:32.3021696Z             {
2026-06-07T22:53:32.3021815Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T22:53:32.3022025Z               "line": 548
2026-06-07T22:53:32.3022110Z             },
2026-06-07T22:53:32.3022198Z             {
2026-06-07T22:53:32.3022320Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-07T22:53:32.3022409Z               "line": 636
2026-06-07T22:53:32.3022595Z             },
2026-06-07T22:53:32.3022675Z             {
2026-06-07T22:53:32.3022798Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T22:53:32.3022890Z               "line": 416
2026-06-07T22:53:32.3022975Z             },
2026-06-07T22:53:32.3023065Z             {
2026-06-07T22:53:32.3023181Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-07T22:53:32.3023271Z               "line": 499
2026-06-07T22:53:32.3023356Z             },
2026-06-07T22:53:32.3023442Z             {
2026-06-07T22:53:32.3023562Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T22:53:32.3023652Z               "line": 26
2026-06-07T22:53:32.3023738Z             },
2026-06-07T22:53:32.3023820Z             {
2026-06-07T22:53:32.3023948Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T22:53:32.3024033Z               "line": 60
2026-06-07T22:53:32.3024116Z             },
2026-06-07T22:53:32.3024196Z             {
2026-06-07T22:53:32.3024315Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T22:53:32.3024411Z               "line": 150
2026-06-07T22:53:32.3024511Z             },
2026-06-07T22:53:32.3024596Z             {
2026-06-07T22:53:32.3024716Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T22:53:32.3024807Z               "line": 277
2026-06-07T22:53:32.3024896Z             },
2026-06-07T22:53:32.3024981Z             {
2026-06-07T22:53:32.3025100Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T22:53:32.3025185Z               "line": 389
2026-06-07T22:53:32.3025274Z             },
2026-06-07T22:53:32.3025355Z             {
2026-06-07T22:53:32.3025486Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-07T22:53:32.3025584Z               "line": 252
2026-06-07T22:53:32.3025670Z             },
2026-06-07T22:53:32.3025753Z             {
2026-06-07T22:53:32.3025862Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3025956Z               "line": 2254
2026-06-07T22:53:32.3026048Z             },
2026-06-07T22:53:32.3026138Z             {
2026-06-07T22:53:32.3026242Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3026339Z               "line": 2619
2026-06-07T22:53:32.3026425Z             },
2026-06-07T22:53:32.3026510Z             {
2026-06-07T22:53:32.3026615Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3026702Z               "line": 3037
2026-06-07T22:53:32.3026791Z             }
2026-06-07T22:53:32.3026876Z           ]
2026-06-07T22:53:32.3027049Z         },
2026-06-07T22:53:32.3027134Z         "int": {
2026-06-07T22:53:32.3027230Z           "complete": true,
2026-06-07T22:53:32.3027321Z           "evidence": [
2026-06-07T22:53:32.3027407Z             {
2026-06-07T22:53:32.3027544Z               "path": "crates/spt-daemon/tests/pairjoin.rs",
2026-06-07T22:53:32.3027641Z               "line": 22
2026-06-07T22:53:32.3027726Z             },
2026-06-07T22:53:32.3027810Z             {
2026-06-07T22:53:32.3027939Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.3028035Z               "line": 573
2026-06-07T22:53:32.3028125Z             },
2026-06-07T22:53:32.3028215Z             {
2026-06-07T22:53:32.3028340Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.3028430Z               "line": 790
2026-06-07T22:53:32.3028516Z             }
2026-06-07T22:53:32.3028598Z           ]
2026-06-07T22:53:32.3028683Z         },
2026-06-07T22:53:32.3028768Z         "unit": {
2026-06-07T22:53:32.3028869Z           "complete": true,
2026-06-07T22:53:32.3028961Z           "evidence": [
2026-06-07T22:53:32.3029046Z             {
2026-06-07T22:53:32.3029169Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T22:53:32.3029364Z               "line": 475
2026-06-07T22:53:32.3029455Z             },
2026-06-07T22:53:32.3029537Z             {
2026-06-07T22:53:32.3029646Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3029741Z               "line": 6193
2026-06-07T22:53:32.3029919Z             },
2026-06-07T22:53:32.3030008Z             {
2026-06-07T22:53:32.3030109Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3030201Z               "line": 6591
2026-06-07T22:53:32.3030285Z             }
2026-06-07T22:53:32.3030380Z           ]
2026-06-07T22:53:32.3030470Z         }
2026-06-07T22:53:32.3030551Z       }
2026-06-07T22:53:32.3030640Z     },
2026-06-07T22:53:32.3030725Z     {
2026-06-07T22:53:32.3030820Z       "id": "REQ-SUBNET-3",
2026-06-07T22:53:32.3031097Z       "title": "Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)",
2026-06-07T22:53:32.3031198Z       "requiredStages": [
2026-06-07T22:53:32.3031288Z         "impl",
2026-06-07T22:53:32.3031388Z         "unit"
2026-06-07T22:53:32.3031475Z       ],
2026-06-07T22:53:32.3031569Z       "stages": {
2026-06-07T22:53:32.3031659Z         "doc": {
2026-06-07T22:53:32.3031756Z           "complete": false,
2026-06-07T22:53:32.3031851Z           "evidence": []
2026-06-07T22:53:32.3031950Z         },
2026-06-07T22:53:32.3032036Z         "impl": {
2026-06-07T22:53:32.3032129Z           "complete": true,
2026-06-07T22:53:32.3032218Z           "evidence": [
2026-06-07T22:53:32.3032303Z             {
2026-06-07T22:53:32.3032438Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.3032527Z               "line": 146
2026-06-07T22:53:32.3032614Z             },
2026-06-07T22:53:32.3032700Z             {
2026-06-07T22:53:32.3032828Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.3032918Z               "line": 342
2026-06-07T22:53:32.3033003Z             },
2026-06-07T22:53:32.3033090Z             {
2026-06-07T22:53:32.3033221Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.3033310Z               "line": 125
2026-06-07T22:53:32.3033397Z             },
2026-06-07T22:53:32.3033483Z             {
2026-06-07T22:53:32.3033606Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.3033707Z               "line": 500
2026-06-07T22:53:32.3033788Z             },
2026-06-07T22:53:32.3033878Z             {
2026-06-07T22:53:32.3033998Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.3034089Z               "line": 559
2026-06-07T22:53:32.3034174Z             },
2026-06-07T22:53:32.3034259Z             {
2026-06-07T22:53:32.3034384Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-07T22:53:32.3034475Z               "line": 9
2026-06-07T22:53:32.3034560Z             },
2026-06-07T22:53:32.3034647Z             {
2026-06-07T22:53:32.3034751Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3034842Z               "line": 2556
2026-06-07T22:53:32.3034932Z             },
2026-06-07T22:53:32.3035028Z             {
2026-06-07T22:53:32.3035146Z               "path": "crates/spt/src/wansend.rs",
2026-06-07T22:53:32.3035237Z               "line": 433
2026-06-07T22:53:32.3035325Z             }
2026-06-07T22:53:32.3035419Z           ]
2026-06-07T22:53:32.3035503Z         },
2026-06-07T22:53:32.3035589Z         "int": {
2026-06-07T22:53:32.3035689Z           "complete": false,
2026-06-07T22:53:32.3035783Z           "evidence": []
2026-06-07T22:53:32.3035868Z         },
2026-06-07T22:53:32.3035959Z         "unit": {
2026-06-07T22:53:32.3036051Z           "complete": true,
2026-06-07T22:53:32.3036145Z           "evidence": [
2026-06-07T22:53:32.3036226Z             {
2026-06-07T22:53:32.3036360Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.3036450Z               "line": 1279
2026-06-07T22:53:32.3036536Z             },
2026-06-07T22:53:32.3036622Z             {
2026-06-07T22:53:32.3036737Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.3036923Z               "line": 868
2026-06-07T22:53:32.3037098Z             },
2026-06-07T22:53:32.3037189Z             {
2026-06-07T22:53:32.3037304Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.3037495Z               "line": 917
2026-06-07T22:53:32.3037586Z             },
2026-06-07T22:53:32.3037671Z             {
2026-06-07T22:53:32.3037790Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-07T22:53:32.3037881Z               "line": 49
2026-06-07T22:53:32.3037972Z             },
2026-06-07T22:53:32.3038056Z             {
2026-06-07T22:53:32.3038158Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3038249Z               "line": 6487
2026-06-07T22:53:32.3038338Z             }
2026-06-07T22:53:32.3038423Z           ]
2026-06-07T22:53:32.3038509Z         }
2026-06-07T22:53:32.3038595Z       }
2026-06-07T22:53:32.3038680Z     },
2026-06-07T22:53:32.3038761Z     {
2026-06-07T22:53:32.3038863Z       "id": "REQ-SUBNET-4",
2026-06-07T22:53:32.3039148Z       "title": "Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)",
2026-06-07T22:53:32.3039248Z       "requiredStages": [
2026-06-07T22:53:32.3039347Z         "impl",
2026-06-07T22:53:32.3039439Z         "unit"
2026-06-07T22:53:32.3039526Z       ],
2026-06-07T22:53:32.3039611Z       "stages": {
2026-06-07T22:53:32.3039700Z         "doc": {
2026-06-07T22:53:32.3039792Z           "complete": true,
2026-06-07T22:53:32.3039887Z           "evidence": [
2026-06-07T22:53:32.3039968Z             {
2026-06-07T22:53:32.3040126Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-07T22:53:32.3040225Z               "line": 60
2026-06-07T22:53:32.3040306Z             }
2026-06-07T22:53:32.3040393Z           ]
2026-06-07T22:53:32.3040479Z         },
2026-06-07T22:53:32.3040568Z         "impl": {
2026-06-07T22:53:32.3040659Z           "complete": true,
2026-06-07T22:53:32.3040761Z           "evidence": [
2026-06-07T22:53:32.3040864Z             {
2026-06-07T22:53:32.3040987Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3041083Z               "line": 2043
2026-06-07T22:53:32.3041172Z             },
2026-06-07T22:53:32.3041261Z             {
2026-06-07T22:53:32.3041362Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3041462Z               "line": 3004
2026-06-07T22:53:32.3041543Z             },
2026-06-07T22:53:32.3041628Z             {
2026-06-07T22:53:32.3041735Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3041820Z               "line": 3037
2026-06-07T22:53:32.3041909Z             }
2026-06-07T22:53:32.3041991Z           ]
2026-06-07T22:53:32.3044058Z         },
2026-06-07T22:53:32.3044167Z         "int": {
2026-06-07T22:53:32.3044267Z           "complete": false,
2026-06-07T22:53:32.3044363Z           "evidence": []
2026-06-07T22:53:32.3044448Z         },
2026-06-07T22:53:32.3044534Z         "unit": {
2026-06-07T22:53:32.3044644Z           "complete": true,
2026-06-07T22:53:32.3044739Z           "evidence": [
2026-06-07T22:53:32.3044824Z             {
2026-06-07T22:53:32.3044940Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3045035Z               "line": 6284
2026-06-07T22:53:32.3045125Z             },
2026-06-07T22:53:32.3045212Z             {
2026-06-07T22:53:32.3045316Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3045411Z               "line": 6358
2026-06-07T22:53:32.3045502Z             }
2026-06-07T22:53:32.3045584Z           ]
2026-06-07T22:53:32.3045673Z         }
2026-06-07T22:53:32.3045755Z       }
2026-06-07T22:53:32.3045841Z     },
2026-06-07T22:53:32.3045922Z     {
2026-06-07T22:53:32.3046021Z       "id": "REQ-SUBNET-5",
2026-06-07T22:53:32.3047287Z       "title": "Per-subnet serve-state: spt subnet detach <NAME> [--save] / attach <NAME> [--save] — daemon keeps running, stops/starts advertising + connecting for that subnet (peer pump + responder selective); --save persists the startup default in daemon config; the all-attached banner gains per-subnet states (M8 decision 6, --save renamed from --auto per decision 25 session)",
2026-06-07T22:53:32.3047525Z       "requiredStages": [
2026-06-07T22:53:32.3047616Z         "impl",
2026-06-07T22:53:32.3047798Z         "unit"
2026-06-07T22:53:32.3047883Z       ],
2026-06-07T22:53:32.3047978Z       "stages": {
2026-06-07T22:53:32.3048060Z         "doc": {
2026-06-07T22:53:32.3048155Z           "complete": false,
2026-06-07T22:53:32.3048250Z           "evidence": []
2026-06-07T22:53:32.3048335Z         },
2026-06-07T22:53:32.3048423Z         "impl": {
2026-06-07T22:53:32.3048522Z           "complete": true,
2026-06-07T22:53:32.3048616Z           "evidence": [
2026-06-07T22:53:32.3048699Z             {
2026-06-07T22:53:32.3048827Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-07T22:53:32.3048926Z               "line": 126
2026-06-07T22:53:32.3049016Z             },
2026-06-07T22:53:32.3049098Z             {
2026-06-07T22:53:32.3049241Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T22:53:32.3049331Z               "line": 74
2026-06-07T22:53:32.3049413Z             },
2026-06-07T22:53:32.3049499Z             {
2026-06-07T22:53:32.3049626Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.3049733Z               "line": 316
2026-06-07T22:53:32.3049818Z             },
2026-06-07T22:53:32.3049903Z             {
2026-06-07T22:53:32.3050033Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-07T22:53:32.3050123Z               "line": 17
2026-06-07T22:53:32.3050209Z             },
2026-06-07T22:53:32.3050295Z             {
2026-06-07T22:53:32.3050405Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3050499Z               "line": 2962
2026-06-07T22:53:32.3050585Z             }
2026-06-07T22:53:32.3050672Z           ]
2026-06-07T22:53:32.3050753Z         },
2026-06-07T22:53:32.3050843Z         "int": {
2026-06-07T22:53:32.3050948Z           "complete": false,
2026-06-07T22:53:32.3051044Z           "evidence": []
2026-06-07T22:53:32.3051128Z         },
2026-06-07T22:53:32.3051215Z         "unit": {
2026-06-07T22:53:32.3051311Z           "complete": true,
2026-06-07T22:53:32.3051402Z           "evidence": [
2026-06-07T22:53:32.3051495Z             {
2026-06-07T22:53:32.3051619Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T22:53:32.3051709Z               "line": 341
2026-06-07T22:53:32.3051798Z             },
2026-06-07T22:53:32.3051883Z             {
2026-06-07T22:53:32.3052008Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-07T22:53:32.3052099Z               "line": 111
2026-06-07T22:53:32.3052183Z             },
2026-06-07T22:53:32.3052275Z             {
2026-06-07T22:53:32.3052441Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-07T22:53:32.3052536Z               "line": 138
2026-06-07T22:53:32.3052624Z             },
2026-06-07T22:53:32.3052713Z             {
2026-06-07T22:53:32.3052837Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-07T22:53:32.3052934Z               "line": 148
2026-06-07T22:53:32.3053018Z             },
2026-06-07T22:53:32.3053108Z             {
2026-06-07T22:53:32.3053220Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3053315Z               "line": 6210
2026-06-07T22:53:32.3053400Z             }
2026-06-07T22:53:32.3053486Z           ]
2026-06-07T22:53:32.3053573Z         }
2026-06-07T22:53:32.3053657Z       }
2026-06-07T22:53:32.3053743Z     },
2026-06-07T22:53:32.3053825Z     {
2026-06-07T22:53:32.3053926Z       "id": "REQ-SUBNET-6",
2026-06-07T22:53:32.3054599Z       "title": "Trust lifecycle verbs, elevation-gated: spt subnet leave <NAME> (membership exit) and spt subnet prune <node> (removes a dead identity's trust + registry rows, killing its dead dials; trust mutation = security surface, REQ-PAIR-6 gate machinery) (M8 decisions 6-7)",
2026-06-07T22:53:32.3054698Z       "requiredStages": [
2026-06-07T22:53:32.3054866Z         "impl",
2026-06-07T22:53:32.3054952Z         "unit"
2026-06-07T22:53:32.3055041Z       ],
2026-06-07T22:53:32.3055128Z       "stages": {
2026-06-07T22:53:32.3055214Z         "doc": {
2026-06-07T22:53:32.3055308Z           "complete": false,
2026-06-07T22:53:32.3055467Z           "evidence": []
2026-06-07T22:53:32.3055556Z         },
2026-06-07T22:53:32.3055642Z         "impl": {
2026-06-07T22:53:32.3055738Z           "complete": true,
2026-06-07T22:53:32.3055830Z           "evidence": [
2026-06-07T22:53:32.3055914Z             {
2026-06-07T22:53:32.3056024Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3056116Z               "line": 2791
2026-06-07T22:53:32.3056200Z             },
2026-06-07T22:53:32.3056281Z             {
2026-06-07T22:53:32.3056392Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3056483Z               "line": 2808
2026-06-07T22:53:32.3056571Z             },
2026-06-07T22:53:32.3056656Z             {
2026-06-07T22:53:32.3056762Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3056856Z               "line": 2857
2026-06-07T22:53:32.3057036Z             },
2026-06-07T22:53:32.3057123Z             {
2026-06-07T22:53:32.3057227Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3057331Z               "line": 2879
2026-06-07T22:53:32.3057414Z             }
2026-06-07T22:53:32.3057499Z           ]
2026-06-07T22:53:32.3057584Z         },
2026-06-07T22:53:32.3057671Z         "int": {
2026-06-07T22:53:32.3057771Z           "complete": false,
2026-06-07T22:53:32.3057861Z           "evidence": []
2026-06-07T22:53:32.3057946Z         },
2026-06-07T22:53:32.3058034Z         "unit": {
2026-06-07T22:53:32.3058128Z           "complete": true,
2026-06-07T22:53:32.3058223Z           "evidence": [
2026-06-07T22:53:32.3058305Z             {
2026-06-07T22:53:32.3058410Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3058500Z               "line": 6224
2026-06-07T22:53:32.3058590Z             },
2026-06-07T22:53:32.3058683Z             {
2026-06-07T22:53:32.3058786Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3058877Z               "line": 6243
2026-06-07T22:53:32.3058963Z             },
2026-06-07T22:53:32.3059054Z             {
2026-06-07T22:53:32.3059162Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3059249Z               "line": 6252
2026-06-07T22:53:32.3059336Z             }
2026-06-07T22:53:32.3059420Z           ]
2026-06-07T22:53:32.3059505Z         }
2026-06-07T22:53:32.3059591Z       }
2026-06-07T22:53:32.3059678Z     },
2026-06-07T22:53:32.3059763Z     {
2026-06-07T22:53:32.3059853Z       "id": "REQ-SUBNET-7",
2026-06-07T22:53:32.3061465Z       "title": "Per-machine re-pair trust overwrite: registry rows carry a hashed stable machine identifier (OS machine id /etc/machine-id|MachineGuid, domain-separated SHA-256 before gossip, spt-minted persisted UUID fallback; additive serde-default field — old rows parse clean); a COMPLETED pairing ceremony presenting the same node label AND machine id as an existing trusted row evicts the superseded identity's trust + registry rows on the seed-holder and replicates the eviction; a gossiped claim alone never evicts trust (M8 decisions 13, 22)",
2026-06-07T22:53:32.3061575Z       "requiredStages": [
2026-06-07T22:53:32.3061670Z         "impl",
2026-06-07T22:53:32.3061751Z         "unit"
2026-06-07T22:53:32.3061833Z       ],
2026-06-07T22:53:32.3061924Z       "stages": {
2026-06-07T22:53:32.3062003Z         "doc": {
2026-06-07T22:53:32.3062098Z           "complete": false,
2026-06-07T22:53:32.3062189Z           "evidence": []
2026-06-07T22:53:32.3062274Z         },
2026-06-07T22:53:32.3062358Z         "impl": {
2026-06-07T22:53:32.3062448Z           "complete": true,
2026-06-07T22:53:32.3062540Z           "evidence": [
2026-06-07T22:53:32.3062626Z             {
2026-06-07T22:53:32.3062748Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-07T22:53:32.3062835Z               "line": 17
2026-06-07T22:53:32.3063025Z             },
2026-06-07T22:53:32.3063106Z             {
2026-06-07T22:53:32.3063227Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T22:53:32.3063321Z               "line": 104
2026-06-07T22:53:32.3063402Z             },
2026-06-07T22:53:32.3063598Z             {
2026-06-07T22:53:32.3063717Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-07T22:53:32.3063804Z               "line": 291
2026-06-07T22:53:32.3063889Z             },
2026-06-07T22:53:32.3063970Z             {
2026-06-07T22:53:32.3064090Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.3064180Z               "line": 339
2026-06-07T22:53:32.3064265Z             },
2026-06-07T22:53:32.3064351Z             {
2026-06-07T22:53:32.3064481Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.3064570Z               "line": 154
2026-06-07T22:53:32.3064655Z             },
2026-06-07T22:53:32.3064741Z             {
2026-06-07T22:53:32.3064859Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.3064948Z               "line": 346
2026-06-07T22:53:32.3065034Z             },
2026-06-07T22:53:32.3065121Z             {
2026-06-07T22:53:32.3065230Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.3065344Z               "line": 497
2026-06-07T22:53:32.3065454Z             },
2026-06-07T22:53:32.3065545Z             {
2026-06-07T22:53:32.3065664Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.3065751Z               "line": 537
2026-06-07T22:53:32.3065836Z             },
2026-06-07T22:53:32.3065926Z             {
2026-06-07T22:53:32.3066046Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.3066140Z               "line": 565
2026-06-07T22:53:32.3066250Z             },
2026-06-07T22:53:32.3066351Z             {
2026-06-07T22:53:32.3066469Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T22:53:32.3066565Z               "line": 128
2026-06-07T22:53:32.3066690Z             },
2026-06-07T22:53:32.3066774Z             {
2026-06-07T22:53:32.3066894Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.3067136Z               "line": 139
2026-06-07T22:53:32.3067226Z             }
2026-06-07T22:53:32.3067317Z           ]
2026-06-07T22:53:32.3067397Z         },
2026-06-07T22:53:32.3067492Z         "int": {
2026-06-07T22:53:32.3067596Z           "complete": false,
2026-06-07T22:53:32.3067683Z           "evidence": []
2026-06-07T22:53:32.3067768Z         },
2026-06-07T22:53:32.3067854Z         "unit": {
2026-06-07T22:53:32.3067949Z           "complete": true,
2026-06-07T22:53:32.3068040Z           "evidence": [
2026-06-07T22:53:32.3068125Z             {
2026-06-07T22:53:32.3068245Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-07T22:53:32.3068336Z               "line": 136
2026-06-07T22:53:32.3068421Z             },
2026-06-07T22:53:32.3068507Z             {
2026-06-07T22:53:32.3068632Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-07T22:53:32.3068722Z               "line": 156
2026-06-07T22:53:32.3068812Z             },
2026-06-07T22:53:32.3068894Z             {
2026-06-07T22:53:32.3069017Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.3069122Z               "line": 721
2026-06-07T22:53:32.3069204Z             },
2026-06-07T22:53:32.3069289Z             {
2026-06-07T22:53:32.3069413Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-07T22:53:32.3069504Z               "line": 743
2026-06-07T22:53:32.3069591Z             },
2026-06-07T22:53:32.3069675Z             {
2026-06-07T22:53:32.3069804Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-07T22:53:32.3069896Z               "line": 1287
2026-06-07T22:53:32.3069980Z             },
2026-06-07T22:53:32.3070065Z             {
2026-06-07T22:53:32.3070189Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-07T22:53:32.3070380Z               "line": 912
2026-06-07T22:53:32.3070466Z             }
2026-06-07T22:53:32.3070552Z           ]
2026-06-07T22:53:32.3070638Z         }
2026-06-07T22:53:32.3070728Z       }
2026-06-07T22:53:32.3070809Z     },
2026-06-07T22:53:32.3070981Z     {
2026-06-07T22:53:32.3071075Z       "id": "REQ-SUBNET-8",
2026-06-07T22:53:32.3072150Z       "title": "Status render honesty: zero-subnet text is daemon-aware ('No subnets registered — this node is standalone.' + daemon-running-dependent blurb, never implying messaging works while the daemon is down); hint footer prints on bare spt subnet only (status drops it); a stalled pump is surfaced in subnet status, never rendered implied-healthy (M8 decisions 11-12, 23)",
2026-06-07T22:53:32.3072249Z       "requiredStages": [
2026-06-07T22:53:32.3072335Z         "impl",
2026-06-07T22:53:32.3072422Z         "unit"
2026-06-07T22:53:32.3072508Z       ],
2026-06-07T22:53:32.3072597Z       "stages": {
2026-06-07T22:53:32.3072682Z         "doc": {
2026-06-07T22:53:32.3072787Z           "complete": false,
2026-06-07T22:53:32.3072881Z           "evidence": []
2026-06-07T22:53:32.3072965Z         },
2026-06-07T22:53:32.3073052Z         "impl": {
2026-06-07T22:53:32.3073143Z           "complete": true,
2026-06-07T22:53:32.3073247Z           "evidence": [
2026-06-07T22:53:32.3073338Z             {
2026-06-07T22:53:32.3073443Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3073533Z               "line": 2331
2026-06-07T22:53:32.3073618Z             },
2026-06-07T22:53:32.3073701Z             {
2026-06-07T22:53:32.3073805Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3073896Z               "line": 2360
2026-06-07T22:53:32.3073991Z             },
2026-06-07T22:53:32.3074073Z             {
2026-06-07T22:53:32.3074177Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3074267Z               "line": 2377
2026-06-07T22:53:32.3074354Z             },
2026-06-07T22:53:32.3074439Z             {
2026-06-07T22:53:32.3074558Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3074650Z               "line": 2681
2026-06-07T22:53:32.3074736Z             }
2026-06-07T22:53:32.3074820Z           ]
2026-06-07T22:53:32.3074902Z         },
2026-06-07T22:53:32.3074989Z         "int": {
2026-06-07T22:53:32.3075093Z           "complete": false,
2026-06-07T22:53:32.3075182Z           "evidence": []
2026-06-07T22:53:32.3075272Z         },
2026-06-07T22:53:32.3075358Z         "unit": {
2026-06-07T22:53:32.3075452Z           "complete": true,
2026-06-07T22:53:32.3075542Z           "evidence": [
2026-06-07T22:53:32.3075628Z             {
2026-06-07T22:53:32.3075728Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3075818Z               "line": 6389
2026-06-07T22:53:32.3075904Z             }
2026-06-07T22:53:32.3075987Z           ]
2026-06-07T22:53:32.3076077Z         }
2026-06-07T22:53:32.3076161Z       }
2026-06-07T22:53:32.3076248Z     },
2026-06-07T22:53:32.3076330Z     {
2026-06-07T22:53:32.3076429Z       "id": "REQ-TERM-1",
2026-06-07T22:53:32.3076601Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-07T22:53:32.3076696Z       "requiredStages": [
2026-06-07T22:53:32.3076786Z         "impl",
2026-06-07T22:53:32.3076873Z         "unit"
2026-06-07T22:53:32.3077053Z       ],
2026-06-07T22:53:32.3077144Z       "stages": {
2026-06-07T22:53:32.3077231Z         "doc": {
2026-06-07T22:53:32.3077330Z           "complete": false,
2026-06-07T22:53:32.3077425Z           "evidence": []
2026-06-07T22:53:32.3077507Z         },
2026-06-07T22:53:32.3077598Z         "impl": {
2026-06-07T22:53:32.3077692Z           "complete": true,
2026-06-07T22:53:32.3077782Z           "evidence": [
2026-06-07T22:53:32.3077868Z             {
2026-06-07T22:53:32.3077986Z               "path": "crates/spt-term/src/pty.rs",
2026-06-07T22:53:32.3078075Z               "line": 59
2026-06-07T22:53:32.3078161Z             },
2026-06-07T22:53:32.3078243Z             {
2026-06-07T22:53:32.3078356Z               "path": "crates/spt-term/src/pty.rs",
2026-06-07T22:53:32.3078548Z               "line": 171
2026-06-07T22:53:32.3078639Z             },
2026-06-07T22:53:32.3078723Z             {
2026-06-07T22:53:32.3078839Z               "path": "crates/spt-term/src/surface.rs",
2026-06-07T22:53:32.3079024Z               "line": 100
2026-06-07T22:53:32.3079105Z             }
2026-06-07T22:53:32.3079192Z           ]
2026-06-07T22:53:32.3079277Z         },
2026-06-07T22:53:32.3079362Z         "int": {
2026-06-07T22:53:32.3079459Z           "complete": false,
2026-06-07T22:53:32.3079549Z           "evidence": []
2026-06-07T22:53:32.3079635Z         },
2026-06-07T22:53:32.3079720Z         "unit": {
2026-06-07T22:53:32.3079817Z           "complete": true,
2026-06-07T22:53:32.3079906Z           "evidence": [
2026-06-07T22:53:32.3079997Z             {
2026-06-07T22:53:32.3080122Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-07T22:53:32.3080212Z               "line": 24
2026-06-07T22:53:32.3080297Z             },
2026-06-07T22:53:32.3080394Z             {
2026-06-07T22:53:32.3080508Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-07T22:53:32.3080597Z               "line": 56
2026-06-07T22:53:32.3080682Z             }
2026-06-07T22:53:32.3080769Z           ]
2026-06-07T22:53:32.3080860Z         }
2026-06-07T22:53:32.3080950Z       }
2026-06-07T22:53:32.3081031Z     },
2026-06-07T22:53:32.3081117Z     {
2026-06-07T22:53:32.3081207Z       "id": "REQ-TERM-2",
2026-06-07T22:53:32.3081389Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-07T22:53:32.3081484Z       "requiredStages": [
2026-06-07T22:53:32.3081569Z         "impl",
2026-06-07T22:53:32.3081655Z         "unit"
2026-06-07T22:53:32.3081742Z       ],
2026-06-07T22:53:32.3081837Z       "stages": {
2026-06-07T22:53:32.3081922Z         "doc": {
2026-06-07T22:53:32.3082013Z           "complete": false,
2026-06-07T22:53:32.3082113Z           "evidence": []
2026-06-07T22:53:32.3082199Z         },
2026-06-07T22:53:32.3082299Z         "impl": {
2026-06-07T22:53:32.3082390Z           "complete": true,
2026-06-07T22:53:32.3082480Z           "evidence": [
2026-06-07T22:53:32.3082561Z             {
2026-06-07T22:53:32.3082682Z               "path": "crates/spt-term/src/surface.rs",
2026-06-07T22:53:32.3082776Z               "line": 117
2026-06-07T22:53:32.3082861Z             },
2026-06-07T22:53:32.3082949Z             {
2026-06-07T22:53:32.3083058Z               "path": "crates/spt-term/src/surface.rs",
2026-06-07T22:53:32.3083152Z               "line": 127
2026-06-07T22:53:32.3083232Z             }
2026-06-07T22:53:32.3083319Z           ]
2026-06-07T22:53:32.3083403Z         },
2026-06-07T22:53:32.3083488Z         "int": {
2026-06-07T22:53:32.3083578Z           "complete": false,
2026-06-07T22:53:32.3083670Z           "evidence": []
2026-06-07T22:53:32.3083751Z         },
2026-06-07T22:53:32.3083836Z         "unit": {
2026-06-07T22:53:32.3083936Z           "complete": true,
2026-06-07T22:53:32.3084027Z           "evidence": [
2026-06-07T22:53:32.3084117Z             {
2026-06-07T22:53:32.3084241Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-07T22:53:32.3084332Z               "line": 46
2026-06-07T22:53:32.3084418Z             },
2026-06-07T22:53:32.3084503Z             {
2026-06-07T22:53:32.3084623Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-07T22:53:32.3084709Z               "line": 77
2026-06-07T22:53:32.3084794Z             }
2026-06-07T22:53:32.3084880Z           ]
2026-06-07T22:53:32.3084962Z         }
2026-06-07T22:53:32.3085042Z       }
2026-06-07T22:53:32.3085137Z     },
2026-06-07T22:53:32.3085262Z     {
2026-06-07T22:53:32.3085366Z       "id": "REQ-TERM-3",
2026-06-07T22:53:32.3085510Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-07T22:53:32.3085601Z       "requiredStages": [
2026-06-07T22:53:32.3085685Z         "impl",
2026-06-07T22:53:32.3085780Z         "unit"
2026-06-07T22:53:32.3085867Z       ],
2026-06-07T22:53:32.3085952Z       "stages": {
2026-06-07T22:53:32.3086121Z         "doc": {
2026-06-07T22:53:32.3086212Z           "complete": false,
2026-06-07T22:53:32.3086303Z           "evidence": []
2026-06-07T22:53:32.3086383Z         },
2026-06-07T22:53:32.3086474Z         "impl": {
2026-06-07T22:53:32.3086703Z           "complete": true,
2026-06-07T22:53:32.3086828Z           "evidence": [
2026-06-07T22:53:32.3086932Z             {
2026-06-07T22:53:32.3087138Z               "path": "crates/spt-term/src/stream.rs",
2026-06-07T22:53:32.3087228Z               "line": 71
2026-06-07T22:53:32.3087314Z             }
2026-06-07T22:53:32.3087404Z           ]
2026-06-07T22:53:32.3087486Z         },
2026-06-07T22:53:32.3087580Z         "int": {
2026-06-07T22:53:32.3087675Z           "complete": false,
2026-06-07T22:53:32.3087762Z           "evidence": []
2026-06-07T22:53:32.3087849Z         },
2026-06-07T22:53:32.3087932Z         "unit": {
2026-06-07T22:53:32.3088029Z           "complete": true,
2026-06-07T22:53:32.3088115Z           "evidence": [
2026-06-07T22:53:32.3088210Z             {
2026-06-07T22:53:32.3088328Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-07T22:53:32.3088419Z               "line": 37
2026-06-07T22:53:32.3088509Z             },
2026-06-07T22:53:32.3088592Z             {
2026-06-07T22:53:32.3088716Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-07T22:53:32.3088808Z               "line": 67
2026-06-07T22:53:32.3088898Z             }
2026-06-07T22:53:32.3088983Z           ]
2026-06-07T22:53:32.3089069Z         }
2026-06-07T22:53:32.3089151Z       }
2026-06-07T22:53:32.3089241Z     },
2026-06-07T22:53:32.3089327Z     {
2026-06-07T22:53:32.3089423Z       "id": "REQ-TERM-4",
2026-06-07T22:53:32.3089771Z       "title": "Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log",
2026-06-07T22:53:32.3089871Z       "requiredStages": [
2026-06-07T22:53:32.3089952Z         "impl",
2026-06-07T22:53:32.3090038Z         "unit",
2026-06-07T22:53:32.3090128Z         "int"
2026-06-07T22:53:32.3090214Z       ],
2026-06-07T22:53:32.3090300Z       "stages": {
2026-06-07T22:53:32.3090392Z         "doc": {
2026-06-07T22:53:32.3090485Z           "complete": true,
2026-06-07T22:53:32.3090571Z           "evidence": [
2026-06-07T22:53:32.3090663Z             {
2026-06-07T22:53:32.3090767Z               "path": "docs/MANIFEST.md",
2026-06-07T22:53:32.3090862Z               "line": 115
2026-06-07T22:53:32.3090949Z             }
2026-06-07T22:53:32.3091036Z           ]
2026-06-07T22:53:32.3091124Z         },
2026-06-07T22:53:32.3091214Z         "impl": {
2026-06-07T22:53:32.3091309Z           "complete": true,
2026-06-07T22:53:32.3091396Z           "evidence": [
2026-06-07T22:53:32.3091486Z             {
2026-06-07T22:53:32.3091605Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-07T22:53:32.3091701Z               "line": 507
2026-06-07T22:53:32.3091786Z             },
2026-06-07T22:53:32.3091872Z             {
2026-06-07T22:53:32.3091992Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T22:53:32.3092087Z               "line": 41
2026-06-07T22:53:32.3092172Z             },
2026-06-07T22:53:32.3092259Z             {
2026-06-07T22:53:32.3092378Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T22:53:32.3092473Z               "line": 91
2026-06-07T22:53:32.3092559Z             },
2026-06-07T22:53:32.3092645Z             {
2026-06-07T22:53:32.3092759Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T22:53:32.3092849Z               "line": 152
2026-06-07T22:53:32.3092937Z             },
2026-06-07T22:53:32.3093026Z             {
2026-06-07T22:53:32.3093141Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T22:53:32.3093232Z               "line": 221
2026-06-07T22:53:32.3093317Z             },
2026-06-07T22:53:32.3093402Z             {
2026-06-07T22:53:32.3093533Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-07T22:53:32.3093623Z               "line": 20
2026-06-07T22:53:32.3093816Z             },
2026-06-07T22:53:32.3093903Z             {
2026-06-07T22:53:32.3094024Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-07T22:53:32.3094118Z               "line": 222
2026-06-07T22:53:32.3094206Z             },
2026-06-07T22:53:32.3094396Z             {
2026-06-07T22:53:32.3094516Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-07T22:53:32.3094606Z               "line": 242
2026-06-07T22:53:32.3094691Z             },
2026-06-07T22:53:32.3094777Z             {
2026-06-07T22:53:32.3094897Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.3094987Z               "line": 625
2026-06-07T22:53:32.3095077Z             },
2026-06-07T22:53:32.3095165Z             {
2026-06-07T22:53:32.3095278Z               "path": "crates/spt-term/src/digest.rs",
2026-06-07T22:53:32.3095369Z               "line": 162
2026-06-07T22:53:32.3095455Z             },
2026-06-07T22:53:32.3095545Z             {
2026-06-07T22:53:32.3095655Z               "path": "crates/spt-term/src/digest.rs",
2026-06-07T22:53:32.3095765Z               "line": 206
2026-06-07T22:53:32.3095851Z             },
2026-06-07T22:53:32.3095936Z             {
2026-06-07T22:53:32.3096051Z               "path": "crates/spt-term/src/digest.rs",
2026-06-07T22:53:32.3096142Z               "line": 233
2026-06-07T22:53:32.3096231Z             },
2026-06-07T22:53:32.3096316Z             {
2026-06-07T22:53:32.3096431Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3096526Z               "line": 795
2026-06-07T22:53:32.3096610Z             }
2026-06-07T22:53:32.3096695Z           ]
2026-06-07T22:53:32.3096777Z         },
2026-06-07T22:53:32.3096868Z         "int": {
2026-06-07T22:53:32.3097044Z           "complete": true,
2026-06-07T22:53:32.3097140Z           "evidence": [
2026-06-07T22:53:32.3097225Z             {
2026-06-07T22:53:32.3097349Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-07T22:53:32.3097440Z               "line": 18
2026-06-07T22:53:32.3097531Z             }
2026-06-07T22:53:32.3097620Z           ]
2026-06-07T22:53:32.3097708Z         },
2026-06-07T22:53:32.3097797Z         "unit": {
2026-06-07T22:53:32.3097893Z           "complete": true,
2026-06-07T22:53:32.3097983Z           "evidence": [
2026-06-07T22:53:32.3098074Z             {
2026-06-07T22:53:32.3098188Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T22:53:32.3098279Z               "line": 259
2026-06-07T22:53:32.3098370Z             },
2026-06-07T22:53:32.3098455Z             {
2026-06-07T22:53:32.3098574Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T22:53:32.3098662Z               "line": 277
2026-06-07T22:53:32.3098752Z             },
2026-06-07T22:53:32.3098831Z             {
2026-06-07T22:53:32.3098949Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T22:53:32.3099036Z               "line": 289
2026-06-07T22:53:32.3099125Z             },
2026-06-07T22:53:32.3099214Z             {
2026-06-07T22:53:32.3099334Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T22:53:32.3099430Z               "line": 304
2026-06-07T22:53:32.3099510Z             },
2026-06-07T22:53:32.3099601Z             {
2026-06-07T22:53:32.3099716Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T22:53:32.3099811Z               "line": 320
2026-06-07T22:53:32.3099901Z             },
2026-06-07T22:53:32.3099983Z             {
2026-06-07T22:53:32.3100102Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T22:53:32.3100192Z               "line": 346
2026-06-07T22:53:32.3100279Z             },
2026-06-07T22:53:32.3100364Z             {
2026-06-07T22:53:32.3100478Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T22:53:32.3100570Z               "line": 361
2026-06-07T22:53:32.3100651Z             },
2026-06-07T22:53:32.3100735Z             {
2026-06-07T22:53:32.3100850Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-07T22:53:32.3100942Z               "line": 391
2026-06-07T22:53:32.3101126Z             },
2026-06-07T22:53:32.3101209Z             {
2026-06-07T22:53:32.3101327Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-07T22:53:32.3101417Z               "line": 365
2026-06-07T22:53:32.3101591Z             },
2026-06-07T22:53:32.3101675Z             {
2026-06-07T22:53:32.3101793Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-07T22:53:32.3101879Z               "line": 382
2026-06-07T22:53:32.3101965Z             },
2026-06-07T22:53:32.3102050Z             {
2026-06-07T22:53:32.3102161Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-07T22:53:32.3102252Z               "line": 411
2026-06-07T22:53:32.3102333Z             },
2026-06-07T22:53:32.3102422Z             {
2026-06-07T22:53:32.3102538Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-07T22:53:32.3102624Z               "line": 428
2026-06-07T22:53:32.3102708Z             },
2026-06-07T22:53:32.3102795Z             {
2026-06-07T22:53:32.3102923Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.3103013Z               "line": 828
2026-06-07T22:53:32.3103100Z             },
2026-06-07T22:53:32.3103187Z             {
2026-06-07T22:53:32.3103300Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.3103396Z               "line": 835
2026-06-07T22:53:32.3103478Z             },
2026-06-07T22:53:32.3103562Z             {
2026-06-07T22:53:32.3103677Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.3103768Z               "line": 850
2026-06-07T22:53:32.3103849Z             },
2026-06-07T22:53:32.3103934Z             {
2026-06-07T22:53:32.3104044Z               "path": "crates/spt-term/src/digest.rs",
2026-06-07T22:53:32.3104131Z               "line": 420
2026-06-07T22:53:32.3104216Z             },
2026-06-07T22:53:32.3104301Z             {
2026-06-07T22:53:32.3104415Z               "path": "crates/spt-term/src/digest.rs",
2026-06-07T22:53:32.3104509Z               "line": 458
2026-06-07T22:53:32.3104594Z             },
2026-06-07T22:53:32.3104679Z             {
2026-06-07T22:53:32.3104785Z               "path": "crates/spt-term/src/digest.rs",
2026-06-07T22:53:32.3104876Z               "line": 471
2026-06-07T22:53:32.3104966Z             },
2026-06-07T22:53:32.3105047Z             {
2026-06-07T22:53:32.3105162Z               "path": "crates/spt-term/src/digest.rs",
2026-06-07T22:53:32.3105251Z               "line": 497
2026-06-07T22:53:32.3105337Z             },
2026-06-07T22:53:32.3105424Z             {
2026-06-07T22:53:32.3105538Z               "path": "crates/spt-term/src/digest.rs",
2026-06-07T22:53:32.3105633Z               "line": 524
2026-06-07T22:53:32.3105725Z             },
2026-06-07T22:53:32.3105810Z             {
2026-06-07T22:53:32.3105924Z               "path": "crates/spt-term/tests/digest.rs",
2026-06-07T22:53:32.3106015Z               "line": 32
2026-06-07T22:53:32.3106101Z             },
2026-06-07T22:53:32.3106186Z             {
2026-06-07T22:53:32.3106296Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3106388Z               "line": 5982
2026-06-07T22:53:32.3106477Z             }
2026-06-07T22:53:32.3106558Z           ]
2026-06-07T22:53:32.3106650Z         }
2026-06-07T22:53:32.3106740Z       }
2026-06-07T22:53:32.3106825Z     },
2026-06-07T22:53:32.3106905Z     {
2026-06-07T22:53:32.3107081Z       "id": "REQ-UPD-1",
2026-06-07T22:53:32.3107198Z       "title": "Peer-propagated update over P2P",
2026-06-07T22:53:32.3107294Z       "requiredStages": [
2026-06-07T22:53:32.3107386Z         "impl",
2026-06-07T22:53:32.3107470Z         "unit",
2026-06-07T22:53:32.3107555Z         "int"
2026-06-07T22:53:32.3107638Z       ],
2026-06-07T22:53:32.3107724Z       "stages": {
2026-06-07T22:53:32.3107814Z         "doc": {
2026-06-07T22:53:32.3107905Z           "complete": false,
2026-06-07T22:53:32.3108000Z           "evidence": []
2026-06-07T22:53:32.3108081Z         },
2026-06-07T22:53:32.3108171Z         "impl": {
2026-06-07T22:53:32.3108372Z           "complete": true,
2026-06-07T22:53:32.3108458Z           "evidence": [
2026-06-07T22:53:32.3108544Z             {
2026-06-07T22:53:32.3108658Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.3108753Z               "line": 28
2026-06-07T22:53:32.3108921Z             },
2026-06-07T22:53:32.3109006Z             {
2026-06-07T22:53:32.3109125Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.3109212Z               "line": 103
2026-06-07T22:53:32.3109293Z             },
2026-06-07T22:53:32.3109377Z             {
2026-06-07T22:53:32.3109500Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.3109586Z               "line": 341
2026-06-07T22:53:32.3109671Z             },
2026-06-07T22:53:32.3109755Z             {
2026-06-07T22:53:32.3109875Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3109962Z               "line": 22
2026-06-07T22:53:32.3110047Z             },
2026-06-07T22:53:32.3110142Z             {
2026-06-07T22:53:32.3110257Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3110347Z               "line": 117
2026-06-07T22:53:32.3110432Z             },
2026-06-07T22:53:32.3110515Z             {
2026-06-07T22:53:32.3110643Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3110733Z               "line": 150
2026-06-07T22:53:32.3110815Z             },
2026-06-07T22:53:32.3110901Z             {
2026-06-07T22:53:32.3111015Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3111105Z               "line": 207
2026-06-07T22:53:32.3111187Z             },
2026-06-07T22:53:32.3111272Z             {
2026-06-07T22:53:32.3111391Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-07T22:53:32.3111478Z               "line": 37
2026-06-07T22:53:32.3111564Z             }
2026-06-07T22:53:32.3111649Z           ]
2026-06-07T22:53:32.3113708Z         },
2026-06-07T22:53:32.3113817Z         "int": {
2026-06-07T22:53:32.3113936Z           "complete": true,
2026-06-07T22:53:32.3114028Z           "evidence": [
2026-06-07T22:53:32.3114113Z             {
2026-06-07T22:53:32.3114251Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-07T22:53:32.3114357Z               "line": 197
2026-06-07T22:53:32.3114438Z             },
2026-06-07T22:53:32.3114522Z             {
2026-06-07T22:53:32.3114687Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-07T22:53:32.3114776Z               "line": 985
2026-06-07T22:53:32.3114861Z             }
2026-06-07T22:53:32.3114941Z           ]
2026-06-07T22:53:32.3115051Z         },
2026-06-07T22:53:32.3115135Z         "unit": {
2026-06-07T22:53:32.3115220Z           "complete": true,
2026-06-07T22:53:32.3115311Z           "evidence": [
2026-06-07T22:53:32.3115388Z             {
2026-06-07T22:53:32.3115535Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3115636Z               "line": 310
2026-06-07T22:53:32.3115746Z             },
2026-06-07T22:53:32.3115845Z             {
2026-06-07T22:53:32.3115975Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3116074Z               "line": 333
2026-06-07T22:53:32.3116174Z             },
2026-06-07T22:53:32.3116271Z             {
2026-06-07T22:53:32.3116399Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-07T22:53:32.3116494Z               "line": 266
2026-06-07T22:53:32.3116580Z             },
2026-06-07T22:53:32.3116666Z             {
2026-06-07T22:53:32.3116784Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-07T22:53:32.3116876Z               "line": 124
2026-06-07T22:53:32.3117056Z             },
2026-06-07T22:53:32.3117133Z             {
2026-06-07T22:53:32.3117244Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-07T22:53:32.3117351Z               "line": 200
2026-06-07T22:53:32.3117432Z             }
2026-06-07T22:53:32.3117518Z           ]
2026-06-07T22:53:32.3117603Z         }
2026-06-07T22:53:32.3117825Z       }
2026-06-07T22:53:32.3117912Z     },
2026-06-07T22:53:32.3118002Z     {
2026-06-07T22:53:32.3118097Z       "id": "REQ-UPD-2",
2026-06-07T22:53:32.3118250Z       "title": "All binaries signature-verified before handoff",
2026-06-07T22:53:32.3118440Z       "requiredStages": [
2026-06-07T22:53:32.3118528Z         "impl",
2026-06-07T22:53:32.3118617Z         "unit"
2026-06-07T22:53:32.3118703Z       ],
2026-06-07T22:53:32.3118789Z       "stages": {
2026-06-07T22:53:32.3118875Z         "doc": {
2026-06-07T22:53:32.3118975Z           "complete": false,
2026-06-07T22:53:32.3119065Z           "evidence": []
2026-06-07T22:53:32.3119152Z         },
2026-06-07T22:53:32.3119237Z         "impl": {
2026-06-07T22:53:32.3119337Z           "complete": true,
2026-06-07T22:53:32.3119418Z           "evidence": [
2026-06-07T22:53:32.3119514Z             {
2026-06-07T22:53:32.3119637Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.3119728Z               "line": 342
2026-06-07T22:53:32.3119829Z             },
2026-06-07T22:53:32.3119942Z             {
2026-06-07T22:53:32.3120061Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.3120151Z               "line": 468
2026-06-07T22:53:32.3120249Z             },
2026-06-07T22:53:32.3120334Z             {
2026-06-07T22:53:32.3120454Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3120541Z               "line": 29
2026-06-07T22:53:32.3120626Z             },
2026-06-07T22:53:32.3120716Z             {
2026-06-07T22:53:32.3120832Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3120921Z               "line": 258
2026-06-07T22:53:32.3121007Z             },
2026-06-07T22:53:32.3121089Z             {
2026-06-07T22:53:32.3121203Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3121302Z               "line": 275
2026-06-07T22:53:32.3121390Z             },
2026-06-07T22:53:32.3121475Z             {
2026-06-07T22:53:32.3121594Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3121680Z               "line": 395
2026-06-07T22:53:32.3121771Z             },
2026-06-07T22:53:32.3121855Z             {
2026-06-07T22:53:32.3121971Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3122062Z               "line": 527
2026-06-07T22:53:32.3122152Z             },
2026-06-07T22:53:32.3122238Z             {
2026-06-07T22:53:32.3122353Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T22:53:32.3122448Z               "line": 155
2026-06-07T22:53:32.3122537Z             }
2026-06-07T22:53:32.3122624Z           ]
2026-06-07T22:53:32.3122706Z         },
2026-06-07T22:53:32.3122795Z         "int": {
2026-06-07T22:53:32.3122889Z           "complete": false,
2026-06-07T22:53:32.3122981Z           "evidence": []
2026-06-07T22:53:32.3123071Z         },
2026-06-07T22:53:32.3123157Z         "unit": {
2026-06-07T22:53:32.3123257Z           "complete": true,
2026-06-07T22:53:32.3123358Z           "evidence": [
2026-06-07T22:53:32.3123444Z             {
2026-06-07T22:53:32.3123562Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3123649Z               "line": 682
2026-06-07T22:53:32.3123734Z             },
2026-06-07T22:53:32.3123829Z             {
2026-06-07T22:53:32.3123944Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3124039Z               "line": 743
2026-06-07T22:53:32.3124120Z             },
2026-06-07T22:53:32.3124206Z             {
2026-06-07T22:53:32.3124326Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3124415Z               "line": 757
2026-06-07T22:53:32.3124501Z             },
2026-06-07T22:53:32.3124588Z             {
2026-06-07T22:53:32.3124711Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3124801Z               "line": 773
2026-06-07T22:53:32.3124884Z             },
2026-06-07T22:53:32.3124975Z             {
2026-06-07T22:53:32.3125194Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3125280Z               "line": 864
2026-06-07T22:53:32.3125369Z             },
2026-06-07T22:53:32.3125454Z             {
2026-06-07T22:53:32.3125568Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T22:53:32.3125723Z               "line": 412
2026-06-07T22:53:32.3125809Z             },
2026-06-07T22:53:32.3125901Z             {
2026-06-07T22:53:32.3126015Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T22:53:32.3126104Z               "line": 425
2026-06-07T22:53:32.3126191Z             },
2026-06-07T22:53:32.3126277Z             {
2026-06-07T22:53:32.3126405Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-07T22:53:32.3126492Z               "line": 399
2026-06-07T22:53:32.3126582Z             }
2026-06-07T22:53:32.3126663Z           ]
2026-06-07T22:53:32.3126749Z         }
2026-06-07T22:53:32.3126835Z       }
2026-06-07T22:53:32.3126920Z     },
2026-06-07T22:53:32.3127097Z     {
2026-06-07T22:53:32.3127194Z       "id": "REQ-UPD-3",
2026-06-07T22:53:32.3127378Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-07T22:53:32.3127475Z       "requiredStages": [
2026-06-07T22:53:32.3127564Z         "impl",
2026-06-07T22:53:32.3127655Z         "unit",
2026-06-07T22:53:32.3127736Z         "int"
2026-06-07T22:53:32.3127823Z       ],
2026-06-07T22:53:32.3127911Z       "stages": {
2026-06-07T22:53:32.3127997Z         "doc": {
2026-06-07T22:53:32.3128092Z           "complete": false,
2026-06-07T22:53:32.3128187Z           "evidence": []
2026-06-07T22:53:32.3128271Z         },
2026-06-07T22:53:32.3128356Z         "impl": {
2026-06-07T22:53:32.3128453Z           "complete": true,
2026-06-07T22:53:32.3128544Z           "evidence": [
2026-06-07T22:53:32.3128629Z             {
2026-06-07T22:53:32.3128753Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T22:53:32.3128844Z               "line": 39
2026-06-07T22:53:32.3128929Z             },
2026-06-07T22:53:32.3129020Z             {
2026-06-07T22:53:32.3129139Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T22:53:32.3129225Z               "line": 71
2026-06-07T22:53:32.3129315Z             },
2026-06-07T22:53:32.3129407Z             {
2026-06-07T22:53:32.3129521Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T22:53:32.3129611Z               "line": 26
2026-06-07T22:53:32.3129703Z             },
2026-06-07T22:53:32.3129792Z             {
2026-06-07T22:53:32.3129907Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T22:53:32.3130003Z               "line": 114
2026-06-07T22:53:32.3130084Z             },
2026-06-07T22:53:32.3130169Z             {
2026-06-07T22:53:32.3130283Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T22:53:32.3130376Z               "line": 246
2026-06-07T22:53:32.3130464Z             },
2026-06-07T22:53:32.3130549Z             {
2026-06-07T22:53:32.3130654Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3130753Z               "line": 1546
2026-06-07T22:53:32.3130838Z             }
2026-06-07T22:53:32.3130928Z           ]
2026-06-07T22:53:32.3131010Z         },
2026-06-07T22:53:32.3131096Z         "int": {
2026-06-07T22:53:32.3131200Z           "complete": true,
2026-06-07T22:53:32.3131291Z           "evidence": [
2026-06-07T22:53:32.3131382Z             {
2026-06-07T22:53:32.3131505Z               "path": "crates/spt-daemon/tests/brain_swap.rs",
2026-06-07T22:53:32.3131596Z               "line": 23
2026-06-07T22:53:32.3131682Z             }
2026-06-07T22:53:32.3131768Z           ]
2026-06-07T22:53:32.3131853Z         },
2026-06-07T22:53:32.3131940Z         "unit": {
2026-06-07T22:53:32.3132035Z           "complete": true,
2026-06-07T22:53:32.3132121Z           "evidence": [
2026-06-07T22:53:32.3132206Z             {
2026-06-07T22:53:32.3132326Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T22:53:32.3132416Z               "line": 393
2026-06-07T22:53:32.3132608Z             },
2026-06-07T22:53:32.3132693Z             {
2026-06-07T22:53:32.3132817Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T22:53:32.3132909Z               "line": 461
2026-06-07T22:53:32.3132994Z             },
2026-06-07T22:53:32.3133165Z             {
2026-06-07T22:53:32.3133285Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T22:53:32.3133374Z               "line": 271
2026-06-07T22:53:32.3133464Z             },
2026-06-07T22:53:32.3133550Z             {
2026-06-07T22:53:32.3133660Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T22:53:32.3133750Z               "line": 295
2026-06-07T22:53:32.3133836Z             },
2026-06-07T22:53:32.3133923Z             {
2026-06-07T22:53:32.3134036Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T22:53:32.3134127Z               "line": 316
2026-06-07T22:53:32.3134214Z             },
2026-06-07T22:53:32.3134299Z             {
2026-06-07T22:53:32.3134412Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T22:53:32.3134509Z               "line": 332
2026-06-07T22:53:32.3134595Z             }
2026-06-07T22:53:32.3134680Z           ]
2026-06-07T22:53:32.3134766Z         }
2026-06-07T22:53:32.3134848Z       }
2026-06-07T22:53:32.3134942Z     },
2026-06-07T22:53:32.3135028Z     {
2026-06-07T22:53:32.3135119Z       "id": "REQ-UPD-4",
2026-06-07T22:53:32.3135299Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-07T22:53:32.3135395Z       "requiredStages": [
2026-06-07T22:53:32.3135487Z         "impl",
2026-06-07T22:53:32.3135572Z         "unit"
2026-06-07T22:53:32.3135657Z       ],
2026-06-07T22:53:32.3135744Z       "stages": {
2026-06-07T22:53:32.3135831Z         "doc": {
2026-06-07T22:53:32.3135924Z           "complete": false,
2026-06-07T22:53:32.3136014Z           "evidence": []
2026-06-07T22:53:32.3136100Z         },
2026-06-07T22:53:32.3136190Z         "impl": {
2026-06-07T22:53:32.3136279Z           "complete": true,
2026-06-07T22:53:32.3136378Z           "evidence": [
2026-06-07T22:53:32.3136461Z             {
2026-06-07T22:53:32.3136589Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T22:53:32.3136674Z               "line": 40
2026-06-07T22:53:32.3136776Z             },
2026-06-07T22:53:32.3136861Z             {
2026-06-07T22:53:32.3137066Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T22:53:32.3137161Z               "line": 72
2026-06-07T22:53:32.3137242Z             },
2026-06-07T22:53:32.3137328Z             {
2026-06-07T22:53:32.3137448Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-07T22:53:32.3137538Z               "line": 23
2026-06-07T22:53:32.3137628Z             },
2026-06-07T22:53:32.3137710Z             {
2026-06-07T22:53:32.3137828Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-07T22:53:32.3137919Z               "line": 56
2026-06-07T22:53:32.3138006Z             },
2026-06-07T22:53:32.3138087Z             {
2026-06-07T22:53:32.3138210Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-07T22:53:32.3138301Z               "line": 77
2026-06-07T22:53:32.3138383Z             },
2026-06-07T22:53:32.3138467Z             {
2026-06-07T22:53:32.3138585Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-07T22:53:32.3138686Z               "line": 184
2026-06-07T22:53:32.3138771Z             },
2026-06-07T22:53:32.3138855Z             {
2026-06-07T22:53:32.3138970Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-07T22:53:32.3139061Z               "line": 101
2026-06-07T22:53:32.3139146Z             },
2026-06-07T22:53:32.3139241Z             {
2026-06-07T22:53:32.3139357Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.3139447Z               "line": 170
2026-06-07T22:53:32.3139527Z             },
2026-06-07T22:53:32.3139614Z             {
2026-06-07T22:53:32.3139723Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3139818Z               "line": 1545
2026-06-07T22:53:32.3140010Z             }
2026-06-07T22:53:32.3140095Z           ]
2026-06-07T22:53:32.3140186Z         },
2026-06-07T22:53:32.3140267Z         "int": {
2026-06-07T22:53:32.3140366Z           "complete": false,
2026-06-07T22:53:32.3140543Z           "evidence": []
2026-06-07T22:53:32.3140626Z         },
2026-06-07T22:53:32.3140709Z         "unit": {
2026-06-07T22:53:32.3140805Z           "complete": true,
2026-06-07T22:53:32.3140892Z           "evidence": [
2026-06-07T22:53:32.3140973Z             {
2026-06-07T22:53:32.3141096Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T22:53:32.3141181Z               "line": 389
2026-06-07T22:53:32.3141267Z             },
2026-06-07T22:53:32.3141346Z             {
2026-06-07T22:53:32.3141464Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T22:53:32.3141555Z               "line": 514
2026-06-07T22:53:32.3141638Z             },
2026-06-07T22:53:32.3141722Z             {
2026-06-07T22:53:32.3141851Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-07T22:53:32.3141942Z               "line": 384
2026-06-07T22:53:32.3142023Z             },
2026-06-07T22:53:32.3142108Z             {
2026-06-07T22:53:32.3142224Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-07T22:53:32.3142319Z               "line": 102
2026-06-07T22:53:32.3142404Z             },
2026-06-07T22:53:32.3142485Z             {
2026-06-07T22:53:32.3142600Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-07T22:53:32.3142685Z               "line": 123
2026-06-07T22:53:32.3142766Z             },
2026-06-07T22:53:32.3142849Z             {
2026-06-07T22:53:32.3142962Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-07T22:53:32.3143048Z               "line": 142
2026-06-07T22:53:32.3143130Z             },
2026-06-07T22:53:32.3143215Z             {
2026-06-07T22:53:32.3143324Z               "path": "crates/spt-store/src/info.rs",
2026-06-07T22:53:32.3143415Z               "line": 386
2026-06-07T22:53:32.3143507Z             },
2026-06-07T22:53:32.3143586Z             {
2026-06-07T22:53:32.3143701Z               "path": "crates/spt-store/src/perch.rs",
2026-06-07T22:53:32.3143783Z               "line": 538
2026-06-07T22:53:32.3143868Z             },
2026-06-07T22:53:32.3143953Z             {
2026-06-07T22:53:32.3144057Z               "path": "crates/spt/src/cli.rs",
2026-06-07T22:53:32.3144149Z               "line": 4831
2026-06-07T22:53:32.3144235Z             }
2026-06-07T22:53:32.3144320Z           ]
2026-06-07T22:53:32.3144401Z         }
2026-06-07T22:53:32.3144488Z       }
2026-06-07T22:53:32.3144568Z     },
2026-06-07T22:53:32.3144653Z     {
2026-06-07T22:53:32.3144745Z       "id": "REQ-UPD-5",
2026-06-07T22:53:32.3144883Z       "title": "spt-core ripple-updates registered adapters",
2026-06-07T22:53:32.3144973Z       "requiredStages": [
2026-06-07T22:53:32.3145060Z         "impl",
2026-06-07T22:53:32.3145145Z         "unit"
2026-06-07T22:53:32.3145222Z       ],
2026-06-07T22:53:32.3145316Z       "stages": {
2026-06-07T22:53:32.3145427Z         "doc": {
2026-06-07T22:53:32.3145540Z           "complete": false,
2026-06-07T22:53:32.3145626Z           "evidence": []
2026-06-07T22:53:32.3145704Z         },
2026-06-07T22:53:32.3145785Z         "impl": {
2026-06-07T22:53:32.3145884Z           "complete": true,
2026-06-07T22:53:32.3145999Z           "evidence": [
2026-06-07T22:53:32.3146071Z             {
2026-06-07T22:53:32.3146242Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T22:53:32.3146338Z               "line": 27
2026-06-07T22:53:32.3146424Z             },
2026-06-07T22:53:32.3146513Z             {
2026-06-07T22:53:32.3146651Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T22:53:32.3146746Z               "line": 82
2026-06-07T22:53:32.3146820Z             },
2026-06-07T22:53:32.3146905Z             {
2026-06-07T22:53:32.3147173Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T22:53:32.3147263Z               "line": 134
2026-06-07T22:53:32.3147454Z             },
2026-06-07T22:53:32.3147539Z             {
2026-06-07T22:53:32.3147655Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3147745Z               "line": 479
2026-06-07T22:53:32.3147917Z             },
2026-06-07T22:53:32.3148003Z             {
2026-06-07T22:53:32.3148117Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3148213Z               "line": 515
2026-06-07T22:53:32.3148299Z             }
2026-06-07T22:53:32.3148384Z           ]
2026-06-07T22:53:32.3148470Z         },
2026-06-07T22:53:32.3148556Z         "int": {
2026-06-07T22:53:32.3148652Z           "complete": false,
2026-06-07T22:53:32.3148741Z           "evidence": []
2026-06-07T22:53:32.3148827Z         },
2026-06-07T22:53:32.3148919Z         "unit": {
2026-06-07T22:53:32.3149009Z           "complete": true,
2026-06-07T22:53:32.3149098Z           "evidence": [
2026-06-07T22:53:32.3149183Z             {
2026-06-07T22:53:32.3149317Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T22:53:32.3149401Z               "line": 231
2026-06-07T22:53:32.3149491Z             },
2026-06-07T22:53:32.3149573Z             {
2026-06-07T22:53:32.3149716Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T22:53:32.3149830Z               "line": 245
2026-06-07T22:53:32.3149912Z             },
2026-06-07T22:53:32.3149993Z             {
2026-06-07T22:53:32.3150111Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T22:53:32.3150198Z               "line": 259
2026-06-07T22:53:32.3150302Z             },
2026-06-07T22:53:32.3150383Z             {
2026-06-07T22:53:32.3150522Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T22:53:32.3150603Z               "line": 273
2026-06-07T22:53:32.3150688Z             },
2026-06-07T22:53:32.3150784Z             {
2026-06-07T22:53:32.3150913Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-07T22:53:32.3151003Z               "line": 307
2026-06-07T22:53:32.3151098Z             },
2026-06-07T22:53:32.3151214Z             {
2026-06-07T22:53:32.3151351Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-07T22:53:32.3151457Z               "line": 792
2026-06-07T22:53:32.3151547Z             }
2026-06-07T22:53:32.3151632Z           ]
2026-06-07T22:53:32.3151721Z         }
2026-06-07T22:53:32.3151803Z       }
2026-06-07T22:53:32.3151888Z     },
2026-06-07T22:53:32.3151973Z     {
2026-06-07T22:53:32.3152068Z       "id": "REQ-UPD-6",
2026-06-07T22:53:32.3152921Z       "title": "Platform-targeted update sets and debug rollout: signed multi-platform update metadata, recipient platform selection, channel-scoped monotonic counters, debug-channel opt-in via release-key overlay, local staging plus pull-based peer propagation, and maintainer-only convergence tooling (ADR-0016)",
2026-06-07T22:53:32.3153021Z       "requiredStages": [
2026-06-07T22:53:32.3153113Z         "doc",
2026-06-07T22:53:32.3153203Z         "impl",
2026-06-07T22:53:32.3153288Z         "unit",
2026-06-07T22:53:32.3153370Z         "int"
2026-06-07T22:53:32.3153461Z       ],
2026-06-07T22:53:32.3153546Z       "stages": {
2026-06-07T22:53:32.3153641Z         "doc": {
2026-06-07T22:53:32.3153733Z           "complete": true,
2026-06-07T22:53:32.3153827Z           "evidence": [
2026-06-07T22:53:32.3153903Z             {
2026-06-07T22:53:32.3154034Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-07T22:53:32.3154119Z               "line": 3
2026-06-07T22:53:32.3154203Z             },
2026-06-07T22:53:32.3154285Z             {
2026-06-07T22:53:32.3154410Z               "path": "docs/DEBUG-ROLLOUT.md",
2026-06-07T22:53:32.3154508Z               "line": 3
2026-06-07T22:53:32.3154603Z             },
2026-06-07T22:53:32.3154685Z             {
2026-06-07T22:53:32.3154837Z               "path": "docs/adr/0016-platform-targeted-update-sets.md",
2026-06-07T22:53:32.3154927Z               "line": 3
2026-06-07T22:53:32.3155010Z             }
2026-06-07T22:53:32.3155200Z           ]
2026-06-07T22:53:32.3155281Z         },
2026-06-07T22:53:32.3155376Z         "impl": {
2026-06-07T22:53:32.3155467Z           "complete": true,
2026-06-07T22:53:32.3155556Z           "evidence": [
2026-06-07T22:53:32.3155710Z             {
2026-06-07T22:53:32.3155834Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T22:53:32.3155924Z               "line": 143
2026-06-07T22:53:32.3156011Z             },
2026-06-07T22:53:32.3156096Z             {
2026-06-07T22:53:32.3156225Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.3156316Z               "line": 457
2026-06-07T22:53:32.3156406Z             },
2026-06-07T22:53:32.3156487Z             {
2026-06-07T22:53:32.3156608Z               "path": "crates/spt-daemon/src/peerloop.rs",
2026-06-07T22:53:32.3156697Z               "line": 498
2026-06-07T22:53:32.3156787Z             },
2026-06-07T22:53:32.3156869Z             {
2026-06-07T22:53:32.3157073Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.3157172Z               "line": 69
2026-06-07T22:53:32.3157244Z             },
2026-06-07T22:53:32.3157324Z             {
2026-06-07T22:53:32.3157441Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.3157542Z               "line": 132
2026-06-07T22:53:32.3157638Z             },
2026-06-07T22:53:32.3157723Z             {
2026-06-07T22:53:32.3157847Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.3157939Z               "line": 242
2026-06-07T22:53:32.3158024Z             },
2026-06-07T22:53:32.3158114Z             {
2026-06-07T22:53:32.3158230Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.3158319Z               "line": 398
2026-06-07T22:53:32.3158405Z             },
2026-06-07T22:53:32.3158492Z             {
2026-06-07T22:53:32.3158606Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.3158701Z               "line": 526
2026-06-07T22:53:32.3158796Z             },
2026-06-07T22:53:32.3158883Z             {
2026-06-07T22:53:32.3159007Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.3159092Z               "line": 540
2026-06-07T22:53:32.3159183Z             },
2026-06-07T22:53:32.3159273Z             {
2026-06-07T22:53:32.3159392Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.3159479Z               "line": 595
2026-06-07T22:53:32.3159569Z             },
2026-06-07T22:53:32.3159653Z             {
2026-06-07T22:53:32.3159768Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.3159858Z               "line": 626
2026-06-07T22:53:32.3159942Z             },
2026-06-07T22:53:32.3160028Z             {
2026-06-07T22:53:32.3160143Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3160229Z               "line": 41
2026-06-07T22:53:32.3160318Z             },
2026-06-07T22:53:32.3160400Z             {
2026-06-07T22:53:32.3160529Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3160619Z               "line": 99
2026-06-07T22:53:32.3160705Z             },
2026-06-07T22:53:32.3160787Z             {
2026-06-07T22:53:32.3160906Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3161005Z               "line": 130
2026-06-07T22:53:32.3161087Z             },
2026-06-07T22:53:32.3161172Z             {
2026-06-07T22:53:32.3161286Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3161378Z               "line": 159
2026-06-07T22:53:32.3161469Z             },
2026-06-07T22:53:32.3161587Z             {
2026-06-07T22:53:32.3161707Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3161797Z               "line": 190
2026-06-07T22:53:32.3161883Z             },
2026-06-07T22:53:32.3161964Z             {
2026-06-07T22:53:32.3162108Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3162196Z               "line": 213
2026-06-07T22:53:32.3162453Z             },
2026-06-07T22:53:32.3162542Z             {
2026-06-07T22:53:32.3162700Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3162819Z               "line": 231
2026-06-07T22:53:32.3163000Z             },
2026-06-07T22:53:32.3163096Z             {
2026-06-07T22:53:32.3163229Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3163320Z               "line": 241
2026-06-07T22:53:32.3163405Z             },
2026-06-07T22:53:32.3163490Z             {
2026-06-07T22:53:32.3163611Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3163701Z               "line": 253
2026-06-07T22:53:32.3163791Z             },
2026-06-07T22:53:32.3163877Z             {
2026-06-07T22:53:32.3163993Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3164082Z               "line": 263
2026-06-07T22:53:32.3164168Z             },
2026-06-07T22:53:32.3164250Z             {
2026-06-07T22:53:32.3164373Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3164473Z               "line": 87
2026-06-07T22:53:32.3164560Z             },
2026-06-07T22:53:32.3164646Z             {
2026-06-07T22:53:32.3164768Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3164860Z               "line": 113
2026-06-07T22:53:32.3164947Z             },
2026-06-07T22:53:32.3165030Z             {
2026-06-07T22:53:32.3165153Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3165245Z               "line": 128
2026-06-07T22:53:32.3165326Z             },
2026-06-07T22:53:32.3165416Z             {
2026-06-07T22:53:32.3165531Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3165622Z               "line": 149
2026-06-07T22:53:32.3165707Z             },
2026-06-07T22:53:32.3165792Z             {
2026-06-07T22:53:32.3165908Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3166003Z               "line": 161
2026-06-07T22:53:32.3166089Z             },
2026-06-07T22:53:32.3166170Z             {
2026-06-07T22:53:32.3166289Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3166379Z               "line": 172
2026-06-07T22:53:32.3166475Z             },
2026-06-07T22:53:32.3166566Z             {
2026-06-07T22:53:32.3166680Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3166770Z               "line": 438
2026-06-07T22:53:32.3166853Z             },
2026-06-07T22:53:32.3166937Z             {
2026-06-07T22:53:32.3167139Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3167238Z               "line": 542
2026-06-07T22:53:32.3167323Z             },
2026-06-07T22:53:32.3167410Z             {
2026-06-07T22:53:32.3167529Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T22:53:32.3167623Z               "line": 171
2026-06-07T22:53:32.3167708Z             },
2026-06-07T22:53:32.3167795Z             {
2026-06-07T22:53:32.3167917Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-07T22:53:32.3168006Z               "line": 65
2026-06-07T22:53:32.3168093Z             },
2026-06-07T22:53:32.3168180Z             {
2026-06-07T22:53:32.3168298Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-07T22:53:32.3168388Z               "line": 71
2026-06-07T22:53:32.3168479Z             },
2026-06-07T22:53:32.3168566Z             {
2026-06-07T22:53:32.3168684Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-07T22:53:32.3168775Z               "line": 77
2026-06-07T22:53:32.3168861Z             },
2026-06-07T22:53:32.3168946Z             {
2026-06-07T22:53:32.3169057Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.3169147Z               "line": 649
2026-06-07T22:53:32.3169232Z             },
2026-06-07T22:53:32.3169318Z             {
2026-06-07T22:53:32.3169424Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.3169618Z               "line": 666
2026-06-07T22:53:32.3169701Z             },
2026-06-07T22:53:32.3169791Z             {
2026-06-07T22:53:32.3169900Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.3169986Z               "line": 709
2026-06-07T22:53:32.3170162Z             },
2026-06-07T22:53:32.3170247Z             {
2026-06-07T22:53:32.3170357Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.3170442Z               "line": 849
2026-06-07T22:53:32.3170531Z             },
2026-06-07T22:53:32.3170616Z             {
2026-06-07T22:53:32.3170723Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.3170817Z               "line": 996
2026-06-07T22:53:32.3170902Z             }
2026-06-07T22:53:32.3170994Z           ]
2026-06-07T22:53:32.3171080Z         },
2026-06-07T22:53:32.3171170Z         "int": {
2026-06-07T22:53:32.3171265Z           "complete": true,
2026-06-07T22:53:32.3171357Z           "evidence": [
2026-06-07T22:53:32.3171447Z             {
2026-06-07T22:53:32.3171580Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-07T22:53:32.3171676Z               "line": 558
2026-06-07T22:53:32.3171761Z             },
2026-06-07T22:53:32.3171851Z             {
2026-06-07T22:53:32.3171972Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-07T22:53:32.3172071Z               "line": 135
2026-06-07T22:53:32.3172156Z             }
2026-06-07T22:53:32.3172243Z           ]
2026-06-07T22:53:32.3172325Z         },
2026-06-07T22:53:32.3172414Z         "unit": {
2026-06-07T22:53:32.3172514Z           "complete": true,
2026-06-07T22:53:32.3172611Z           "evidence": [
2026-06-07T22:53:32.3172696Z             {
2026-06-07T22:53:32.3172818Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T22:53:32.3172909Z               "line": 434
2026-06-07T22:53:32.3172999Z             },
2026-06-07T22:53:32.3173083Z             {
2026-06-07T22:53:32.3173207Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-07T22:53:32.3173303Z               "line": 483
2026-06-07T22:53:32.3173388Z             },
2026-06-07T22:53:32.3173474Z             {
2026-06-07T22:53:32.3173590Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-07T22:53:32.3173685Z               "line": 688
2026-06-07T22:53:32.3173779Z             },
2026-06-07T22:53:32.3173861Z             {
2026-06-07T22:53:32.3173984Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3174074Z               "line": 355
2026-06-07T22:53:32.3174161Z             },
2026-06-07T22:53:32.3174247Z             {
2026-06-07T22:53:32.3174366Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-07T22:53:32.3174456Z               "line": 392
2026-06-07T22:53:32.3174544Z             },
2026-06-07T22:53:32.3174628Z             {
2026-06-07T22:53:32.3174742Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3174834Z               "line": 879
2026-06-07T22:53:32.3174919Z             },
2026-06-07T22:53:32.3175014Z             {
2026-06-07T22:53:32.3175130Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3175220Z               "line": 901
2026-06-07T22:53:32.3175309Z             },
2026-06-07T22:53:32.3175391Z             {
2026-06-07T22:53:32.3175512Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3175600Z               "line": 918
2026-06-07T22:53:32.3175686Z             },
2026-06-07T22:53:32.3175772Z             {
2026-06-07T22:53:32.3175882Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3175971Z               "line": 933
2026-06-07T22:53:32.3176057Z             },
2026-06-07T22:53:32.3176144Z             {
2026-06-07T22:53:32.3176258Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-07T22:53:32.3176348Z               "line": 959
2026-06-07T22:53:32.3176440Z             },
2026-06-07T22:53:32.3176525Z             {
2026-06-07T22:53:32.3176644Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-07T22:53:32.3176816Z               "line": 455
2026-06-07T22:53:32.3176902Z             },
2026-06-07T22:53:32.3177079Z             {
2026-06-07T22:53:32.3177206Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-07T22:53:32.3177297Z               "line": 327
2026-06-07T22:53:32.3177497Z             },
2026-06-07T22:53:32.3177578Z             {
2026-06-07T22:53:32.3177689Z               "path": "crates/xtask/src/main.rs",
2026-06-07T22:53:32.3177789Z               "line": 1125
2026-06-07T22:53:32.3177874Z             },
2026-06-07T22:53:32.3177960Z             {
2026-06-07T22:53:32.3178076Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-07T22:53:32.3178169Z               "line": 130
2026-06-07T22:53:32.3178254Z             }
2026-06-07T22:53:32.3178335Z           ]
2026-06-07T22:53:32.3178421Z         }
2026-06-07T22:53:32.3178505Z       }
2026-06-07T22:53:32.3178595Z     }
2026-06-07T22:53:32.3178682Z   ],
2026-06-07T22:53:32.3180703Z   "findings": []
2026-06-07T22:53:32.3180826Z }
